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

release-git: add missing aarch64 input to github-release action #100

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
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
1 change: 1 addition & 0 deletions .github/workflows/release-git.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ jobs:
artifacts-token: ${{ secrets.GITHUB_TOKEN }}
git_artifacts_i686_workflow_run_id: ${{ env.I686_WORKFLOW_RUN_ID }}
git_artifacts_x86_64_workflow_run_id: ${{ env.X86_64_WORKFLOW_RUN_ID }}
git_artifacts_aarch64_workflow_run_id: ${{ env.AARCH64_WORKFLOW_RUN_ID }}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@dscho I was just going through the entire chain again, and noticed that I missed this part to pass git_artifacts_aarch64_workflow_run_id to the workflow.

While adding this input, I got Invalid action input 'git_artifacts_aarch64_workflow_run_id' in VS Code. I'm pretty sure that's because line 114 uses git-for-windows/git-for-windows-automation/.github/actions/github-release@release (the release branch), which isn't up-to-date with the latest changes from the main branch yet. Is that intentional?

Copy link
Member

Choose a reason for hiding this comment

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

While adding this input, I got Invalid action input 'git_artifacts_aarch64_workflow_run_id' in VS Code. I'm pretty sure that's because line 114 uses git-for-windows/git-for-windows-automation/.github/actions/github-release@release (the release branch), which isn't up-to-date with the latest changes from the main branch yet. Is that intentional?

Yes, this is intentional, and the release-git workflow tries to always ensure that main and release start out identically.

0f5ecb3 explains the rationale a bit, and 060621a paints a fuller picture.

The tl;dr is: release automation is hard, and the idea is delusional that one could get it all right in a single YAML file that won't need to adapt to external changes, ever, or at least can be adapted correctly before deploying it. Instead, the need to adapt to external changes are typically detected in the middle of a release, with half the things deployed, and the rest still needing to be deployed. Using the composite Actions from a different branch allows that branch to be updated and the workflow job can then be restarted after editing just that job.

Release automation is a lot easier in Azure DevOps' original design, without YAML. You can edit failed tasks in the web browser and then re-run from there. Highly convenient. But then there was this huge push for YAML a couple of years ago, and GitHub Actions was designed with that in mind and therefore only offers YAML that must be part of the commit history, that's why we're stuck with this ugly, ugly, uggallee work-around. GitHub Actions simply lacks the support we need for complex deployments in the real world.

announcement-mail:
needs: ['setup', 'github-release']
runs-on: ubuntu-latest
Expand Down