-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci: Port CI to GitHub Actions #780
Changes from 35 commits
8f96b8f
462f094
94a585d
2ef460c
312845f
bf2f6a7
9a86f37
0079cf4
910b144
a6e7914
df73c86
73f8bc2
a779cc3
9ad447f
92401eb
0b71181
1d76e86
e835278
5a2e998
e5d8bfd
db42ff8
b3625d8
1375bb0
2af0fde
ea6c7f5
37b4aa3
bcc6519
f2b3cc0
7ca2734
5c29000
f9ccb9a
5805067
3e35d67
da94db2
0e1bc96
f026f29
7b97e4b
0859f0d
bf2375f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
name: Binary Release Build | ||
|
||
on: | ||
push: | ||
branches: | ||
- release/** | ||
|
||
jobs: | ||
linux: | ||
name: Linux | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Build in Docker | ||
run: scripts/docker-build-linux.sh | ||
env: | ||
BUILD_ARCH: x86_64 | ||
RELAY_FEATURES: ssl | ||
|
||
- name: Bundle Debug File | ||
run: zip -r relay-debug.zip target/x86_64-unknown-linux-gnu/release/relay.debug | ||
|
||
- uses: actions/setup-node@v1 | ||
|
||
- name: Upload to Zeus | ||
env: | ||
ZEUS_API_TOKEN: ${{ secrets.ZEUS_API_TOKEN }} | ||
ZEUS_HOOK_BASE: ${{ secrets.ZEUS_HOOK_BASE }} | ||
run: | | ||
npm install -D @zeus-ci/cli | ||
npx zeus job update -b ${{ github.run_id }} -j ${{ github.job }} -r ${{ github.sha }} | ||
npx zeus upload -b ${{ github.run_id }} -j ${{ github.job }} -t "application/octet-stream" -n relay-Linux-x86_64 target/x86_64-unknown-linux-gnu/release/relay | ||
npx zeus upload -b ${{ github.run_id }} -j ${{ github.job }} -t "application/zip" -n relay-Linux-x86_64-debug.zip relay-debug.zip | ||
npx zeus job update --status=passed -b ${{ github.run_id }} -j ${{ github.job }} -r ${{ github.sha }} | ||
|
||
macos: | ||
name: macOS | ||
runs-on: macos-10.15 | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
|
||
- uses: actions-rs/toolchain@v1 | ||
id: toolchain | ||
with: | ||
toolchain: stable | ||
profile: minimal | ||
override: true | ||
|
||
- name: Run Cargo Build | ||
uses: actions-rs/cargo@v1 | ||
with: | ||
command: build | ||
args: --manifest-path=relay/Cargo.toml --release --features ssl | ||
|
||
- name: Bundle dSYM | ||
run: zip -r relay-dsym.zip target/release/relay.dSYM | ||
|
||
- uses: actions/setup-node@v1 | ||
|
||
- name: Upload to Zeus | ||
env: | ||
ZEUS_API_TOKEN: ${{ secrets.ZEUS_API_TOKEN }} | ||
ZEUS_HOOK_BASE: ${{ secrets.ZEUS_HOOK_BASE }} | ||
run: | | ||
npm install -D @zeus-ci/cli | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. out of curiosity, what was wrong with There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good point, I can try that. Originally, I used just |
||
npx zeus job update -b ${{ github.run_id }} -j ${{ github.job }} -r ${{ github.sha }} | ||
npx zeus upload -b ${{ github.run_id }} -j ${{ github.job }} -t "application/octet-stream" -n relay-Darwin-x86_64 target/release/relay | ||
npx zeus upload -b ${{ github.run_id }} -j ${{ github.job }} -t "application/zip" -n relay-Darwin-x86_64-dsym.zip relay-dsym.zip | ||
npx zeus job update --status=passed -b ${{ github.run_id }} -j ${{ github.job }} -r ${{ github.sha }} | ||
|
||
windows: | ||
name: Windows | ||
runs-on: windows-2019 | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
|
||
- uses: actions-rs/toolchain@v1 | ||
id: toolchain | ||
with: | ||
toolchain: stable | ||
profile: minimal | ||
override: true | ||
|
||
- name: Run Cargo Build | ||
uses: actions-rs/cargo@v1 | ||
with: | ||
command: build | ||
args: --manifest-path=relay/Cargo.toml --release --features ssl | ||
|
||
- name: Bundle PDB | ||
run: | | ||
Install-Module 7Zip4PowerShell -Force -Verbose | ||
7z a .\relay-pdb.zip .\target\release\relay.pdb | ||
|
||
- uses: actions/setup-node@v1 | ||
|
||
- name: Upload to Zeus | ||
env: | ||
ZEUS_API_TOKEN: ${{ secrets.ZEUS_API_TOKEN }} | ||
ZEUS_HOOK_BASE: ${{ secrets.ZEUS_HOOK_BASE }} | ||
run: | | ||
npm install -D @zeus-ci/cli | ||
npx zeus job update -b ${{ github.run_id }} -j ${{ github.job }} -r ${{ github.sha }} | ||
npx zeus upload -b ${{ github.run_id }} -j ${{ github.job }} -t "application/octet-stream" -n relay-Windows-x86_64.exe target/release/relay.exe | ||
npx zeus upload -b ${{ github.run_id }} -j ${{ github.job }} -t "application/zip" -n relay-Windows-x86_64-pdb.zip relay-pdb.zip | ||
npx zeus job update --status=passed -b ${{ github.run_id }} -j ${{ github.job }} -r ${{ github.sha }} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
name: Library Release Build | ||
|
||
on: | ||
push: | ||
branches: | ||
- release-library/** | ||
|
||
jobs: | ||
linux: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
build-arch: [i686, x86_64] | ||
|
||
name: Python Linux ${{ matrix.build-arch }} | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Build in Docker | ||
run: scripts/docker-manylinux.sh | ||
env: | ||
BUILD_ARCH: ${{ matrix.build-arch }} | ||
|
||
- uses: actions/setup-node@v1 | ||
|
||
- name: Upload to Zeus | ||
env: | ||
ZEUS_API_TOKEN: ${{ secrets.ZEUS_API_TOKEN }} | ||
ZEUS_HOOK_BASE: ${{ secrets.ZEUS_HOOK_BASE }} | ||
run: | | ||
npm install -D @zeus-ci/cli | ||
npx zeus job update -b ${{ github.run_id }} -j ${{ github.job }} -r ${{ github.sha }} | ||
npx zeus upload -b ${{ github.run_id }} -j ${{ github.job }} -t "application/zip+wheel" py/dist/* | ||
npx zeus job update --status=passed -b ${{ github.run_id }} -j ${{ github.job }} -r ${{ github.sha }} | ||
|
||
macos: | ||
name: Python macOS | ||
runs-on: macos-10.15 | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
|
||
- uses: actions-rs/toolchain@v1 | ||
id: toolchain | ||
with: | ||
toolchain: stable | ||
profile: minimal | ||
override: true | ||
|
||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: 2.7 | ||
|
||
- name: Build Wheel | ||
run: | | ||
pip install wheel | ||
python setup.py bdist_wheel | ||
working-directory: py | ||
|
||
- uses: actions/setup-node@v1 | ||
|
||
- name: Upload to Zeus | ||
env: | ||
ZEUS_API_TOKEN: ${{ secrets.ZEUS_API_TOKEN }} | ||
ZEUS_HOOK_BASE: ${{ secrets.ZEUS_HOOK_BASE }} | ||
run: | | ||
npm install -D @zeus-ci/cli | ||
npx zeus job update -b ${{ github.run_id }} -j ${{ github.job }} -r ${{ github.sha }} | ||
npx zeus upload -b ${{ github.run_id }} -j ${{ github.job }} -t "application/zip+wheel" py/dist/* | ||
npx zeus job update --status=passed -b ${{ github.run_id }} -j ${{ github.job }} -r ${{ github.sha }} | ||
|
||
sdist: | ||
name: Python sdist | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
|
||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: 2.7 | ||
|
||
- name: Build sdist | ||
run: python setup.py sdist --format=zip | ||
working-directory: py | ||
|
||
- uses: actions/setup-node@v1 | ||
|
||
- name: Upload to Zeus | ||
env: | ||
ZEUS_API_TOKEN: ${{ secrets.ZEUS_API_TOKEN }} | ||
ZEUS_HOOK_BASE: ${{ secrets.ZEUS_HOOK_BASE }} | ||
run: | | ||
npm install -D @zeus-ci/cli | ||
npx zeus job update -b ${{ github.run_id }} -j ${{ github.job }} -r ${{ github.sha }} | ||
npx zeus upload -b ${{ github.run_id }} -j ${{ github.job }} -t "application/zip+wheel" py/dist/* | ||
npx zeus job update --status=passed -b ${{ github.run_id }} -j ${{ github.job }} -r ${{ github.sha }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could use a matrix here, but tbh what you have is probably more clear despite some duplication
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. I had a matrix at first, but ended up choosing this for the cleaner config. As soon as
craft
supports GitHub artifacts, the biggest chunk of duplication (zeus uploads) will be gone and this will be neat and clean. Would propose to revisit once we can move off Zeus.