Conversation
|
Note that immediate run failures are expected in Azure Pipelines for this PR because its support has been removed. |
| dotnet-version: 8.0.x | ||
| global-json-file: global.json |
There was a problem hiding this comment.
Any particular reason for both dotnet-version and global-json-file?
We only need to install latest SDK we need. Any extra runtimes are already preinstalled, like .NET 8 runtime.
| runs-on: ubuntu-24.04 | ||
| environment: release | ||
| steps: | ||
| - name: Approved | ||
| run: echo "Release publishing approved for run $GITHUB_RUN_ID" | ||
|
|
||
| publish-release: | ||
| name: Publish Release NuGet Packages | ||
| needs: approve-release | ||
| uses: ./.github/workflows/publish-nuget-shared.yml | ||
| with: | ||
| feed-url: ${{ vars.RELEASE_MANAGER_UPLOAD_URL }} | ||
| secrets: | ||
| api-key: ${{ secrets.RELEASE_MANAGER_API_KEY }} |
There was a problem hiding this comment.
I think it's wrong.
approve-release has environment: release on it, so it has to be approved.
But secrets.RELEASE_MANAGER_API_KEY secret is not protected by this environment, and would have to be defined on the whole repository, not just environment.
Instead, RELEASE_MANAGER_API_KEY should be only defined on the release env, and only be accessed from CI jobs marked with environment: release (so publish-release needs to be marked).
There was a problem hiding this comment.
approve-release is probably unnecessary in this case. publish-release needs to require an approve.
| actions: read | ||
|
|
||
| concurrency: | ||
| group: publish-pr-nuget-${{ github.event.workflow_run.event }}-${{ github.event.workflow_run.head_repository.full_name }}-${{ github.event.workflow_run.head_branch }} |
There was a problem hiding this comment.
We should have concurrency defined on build, but not sure about nuget publish. It might end up with some packages published, and other not.
|
|
What does the pull request do?
This PR migrates part of our CI infrastructure from Azure Pipelines to GitHub Actions.
Build, unit tests and package publishing are affected: this corresponds to the Avalonia - Unit tests pipeline.
Integration tests are still on Azure for now.
Notes
main. The publishing part is shared between all workflows, so I'm hopeful it should work. Further adjustments might still be needed, though.