Skip to content

Commit 99ee548

Browse files
[CI] Migrate CI and automation to GitHub Actions
With contributions from Alexander Todorov. Resolves: #192 [CI] Mark all shell scripts executable [CI] Fix typo in docs workflow for latest
1 parent 21e2da6 commit 99ee548

17 files changed

+359
-324
lines changed

.github/workflows/build.yml

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
{
2+
"name": "Build",
3+
"on": {
4+
"push": {
5+
"branches-ignore": "gh-pages",
6+
"tags-ignore": "*",
7+
},
8+
"pull_request": null,
9+
},
10+
11+
"jobs": {
12+
"linux": {
13+
"runs-on": "ubuntu-latest",
14+
"strategy": {
15+
"fail-fast": false,
16+
"matrix": {
17+
"name": ["debian-stable", "debian-heimdal", "centos-8",
18+
"fedora-latest"],
19+
"include": [
20+
{
21+
"name": "debian-stable",
22+
"distro": "debian:stable",
23+
},
24+
{
25+
"name": "debian-heimdal",
26+
"distro": "debian:stable",
27+
"krb5_ver": "heimdal",
28+
},
29+
{
30+
"name": "centos-8",
31+
"distro": "centos:8",
32+
},
33+
{
34+
"name": "fedora-latest",
35+
"distro": "fedora:latest",
36+
"flake": "yes",
37+
},
38+
],
39+
},
40+
},
41+
"steps": [
42+
{
43+
"name": "Check out code",
44+
"uses": "actions/checkout@v2",
45+
},
46+
{
47+
"name": "Build and test gssapi",
48+
"run": "./ci/run-on-linux.sh ./ci/build.sh",
49+
"env": {
50+
"DISTRO": "${{ matrix.distro }}",
51+
"KRB5_VER": "${{ matrix.krb5_ver }}",
52+
"FLAKE": "${{ matrix.flake }}",
53+
},
54+
},
55+
],
56+
},
57+
58+
"windows": {
59+
"runs-on": "windows-latest",
60+
"strategy": {
61+
"fail-fast": false,
62+
"matrix": {
63+
"name": ["win-py-3.8", "win-py-3.7", "win-py-3.6"],
64+
"include": [
65+
{
66+
"name": "win-py-3.8",
67+
"pyenv": "3.8",
68+
},
69+
{
70+
"name": "win-py-3.7",
71+
"pyenv": "3.7",
72+
},
73+
{
74+
"name": "win-py-3.6",
75+
"pyenv": "3.6",
76+
},
77+
],
78+
},
79+
},
80+
"steps": [
81+
{
82+
"name": "Check out code",
83+
"uses": "actions/checkout@v2",
84+
},
85+
{
86+
"name": "Install the right python",
87+
"uses": "actions/setup-python@v2",
88+
"with": { "python-version": "${{ matrix.pyenv }}" },
89+
},
90+
{
91+
"name": "Build and test gssapi",
92+
"shell": "bash",
93+
"run": "./ci/build.sh",
94+
"env": { "OS_NAME": "windows" },
95+
},
96+
],
97+
},
98+
99+
"macos-heimdal": {
100+
"runs-on": "macos-latest",
101+
"steps": [
102+
{
103+
"name": "Check out code",
104+
"uses": "actions/checkout@v2",
105+
},
106+
{
107+
"name": "Build and test gssapi",
108+
"run": "./ci/build.sh",
109+
"env": { "KRB5_VER": "heimdal" },
110+
},
111+
],
112+
},
113+
},
114+
}

.github/workflows/deploy-docs.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"name": "Deploy docs",
3+
"on": { "push": { "branches": "master" }},
4+
"jobs": {
5+
"update-pages": {
6+
"runs-on": "ubuntu-latest",
7+
"steps": [
8+
{
9+
"name": "Check out code",
10+
"uses": "actions/checkout@v2",
11+
},
12+
{
13+
"name": "Build docs",
14+
"run": "./ci/run-on-linux.sh ./ci/before-docs-deploy.sh",
15+
"env": { "DISTRO": "fedora:latest" },
16+
},
17+
{
18+
"name": "Deploy latest docs",
19+
"uses": "JamesIves/github-pages-deploy-action@releases/v3",
20+
"with": {
21+
"GITHUB_TOKEN": "${{ secrets.GITHUB_TOKEN }}",
22+
"BRANCH": "gh-pages",
23+
"FOLDER": "ci_docs_build/html",
24+
"TARGET_FOLDER": "latest",
25+
},
26+
},
27+
],
28+
},
29+
},
30+
}

.github/workflows/release.yml

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
{
2+
"name": "Release",
3+
"on": { "push": { "tags": "v*" }},
4+
"jobs": {
5+
"release-linux": {
6+
"runs-on": "ubuntu-latest",
7+
"steps": [
8+
{
9+
"name": "Check out code",
10+
"uses": "actions/checkout@v2",
11+
},
12+
{
13+
"name": "Set things up",
14+
"run": "./ci/run-on-linux.sh ./ci/before-deploy.sh",
15+
"env": { "DISTRO": "fedora:latest" },
16+
},
17+
{
18+
"name": "Deploy to PyPI",
19+
"uses": "pypa/[email protected]",
20+
"with": {
21+
"user": "rharwood",
22+
"password": "${{ secrets.pypi_password }}",
23+
},
24+
},
25+
{
26+
"name": "Deploy stable docs",
27+
"uses": "JamesIves/github-pages-deploy-action@releases/v3",
28+
"with": {
29+
"GITHUB_TOKEN": "${{ secrets.GITHUB_TOKEN }}",
30+
"BRANCH": "gh-pages",
31+
"FOLDER": "ci_docs_build/html",
32+
"TARGET_FOLDER": "stable",
33+
},
34+
},
35+
{
36+
"name": "Create release",
37+
"uses": "actions/create-release@v1",
38+
"id": "cr",
39+
"env": { "GITHUB_TOKEN": "${{ secrets.GITHUB_TOKEN }}" },
40+
"with": {
41+
"tag_name": "${{ github.ref }}",
42+
"release_name": "${{ github.ref }}",
43+
},
44+
},
45+
{
46+
"name": "Upload release tarball",
47+
"uses": "actions/upload-release-asset@v1",
48+
"env": { "GITHUB_TOKEN": "${{ secrets.GITHUB_TOKEN }}" },
49+
"with": {
50+
"upload_url": "${{ steps.cr.outputs.upload_url }}",
51+
"asset_path": "tag_build/*.tar.gz",
52+
},
53+
},
54+
{
55+
"name": "Upload release checksum",
56+
"uses": "actions/upload-release-asset@v1",
57+
"env": { "GITHUB_TOKEN": "${{ secrets.GITHUB_TOKEN }}" },
58+
"with": {
59+
"upload_url": "${{ steps.cr.outputs.upload_url }}",
60+
"asset_path": "tag_build/*.sha*",
61+
},
62+
},
63+
],
64+
},
65+
66+
"release-windows": {
67+
"runs-on": "windows-latest",
68+
"strategy": {
69+
"matrix": {
70+
"name": ["win-wheel-3.8", "win-wheel-3.7",
71+
"win-wheel-3.6"],
72+
"include": [
73+
{
74+
"name": "win-wheel-3.8",
75+
"pyenv": "3.8",
76+
},
77+
{
78+
"name": "win-wheel-3.7",
79+
"pyenv": "3.7",
80+
},
81+
{
82+
"name": "win-wheel-3.6",
83+
"pyenv": "3.6",
84+
},
85+
],
86+
},
87+
},
88+
"steps": [
89+
{
90+
"name": "Check out code",
91+
"uses": "actions/checkout@v2",
92+
},
93+
{
94+
"name": "Install the right python",
95+
"uses": "actions/setup-python@v2",
96+
"with": { "python-version": "${{ matrix.pyenv }}" },
97+
},
98+
{
99+
"name": "Create and upload Windows wheel",
100+
"shell": "bash",
101+
"run": "./ci/release-win.sh",
102+
"env": {
103+
"OS_NAME": "windows",
104+
"TWINE_USER": "rharwood",
105+
"TWINE_PASSWORD": "${{ secrets.pypi_password }}",
106+
},
107+
},
108+
],
109+
},
110+
},
111+
}

.travis.yml

Lines changed: 0 additions & 141 deletions
This file was deleted.

0 commit comments

Comments
 (0)