Skip to content
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

Deploy multi-platform images #1412

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,27 @@ jobs:
env:
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }}
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }}

publish_multi_platform:
name: Publish Multi-platform Images
# if: github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'pypa/manylinux'
runs-on: ubuntu-latest
needs: build_manylinux
steps:
- name: Wait for Travis CI
uses: fountainhead/action-wait-for-check@v1.1.0
id: wait-for-travis
with:
token: ${{ secrets.GITHUB_TOKEN }}
checkName: Travis CI - Pull Request
ref: ${{ github.event.pull_request.head.sha || github.sha }}
intervalSeconds: 10
timeoutSeconds: 3600
Comment on lines +83 to +91
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately, I expect the Travis CI check to fail every now and then (appart from the timeout being way too short for a Travis CI build).

This should really be a different workflow, possibly triggered by the checks being updated on main ?

Copy link
Contributor Author

@messense messense Nov 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A different workflow should be fine, but it's harder to test since it can only run after merging, see https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_run

You could extract it to a separate workflow afterwards.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's fine to leave this here at the moment as you're saying.
It shouldn't be to hard to split with the deployment script being a separate bash script.


- name: Deploy
if: steps.wait-for-travis.outputs.conclusion == 'success'
run: ./deploy_multi_platform.sh

- name: Error on failure
if: steps.wait-for-travis.outputs.conclusion != 'success'
run: exit 1
Comment on lines +93 to +99
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe if this was a single step, the workflow could be re-run with failing steps only. This would require a manual action though hence I still prefer to have a separate workflow triggered on check updates if possible (only need to worry about Travis CI mostly in that case).

1 change: 1 addition & 0 deletions deploy_multi_platform.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#!/bin/bash
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: write the script to actually create the multi-platform docker manifest.