Feat: auto release (#26) #12
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
workflow_run: | |
workflows: | |
- "macos-build-test.yml" | |
- "windows-build-test.yml" | |
- "linux-build-test.yml" | |
types: | |
- completed | |
push: | |
branches: | |
- main | |
name: combined-release-workflow | |
env: | |
GH_TOKEN: ${{ github.token }} | |
Repo: "sargeantPig/RTWLibTools" | |
jobs: | |
combined-release: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Release Please | |
id: release-please | |
uses: google-github-actions/release-please-action@v3 | |
with: | |
release-type: simple | |
- name: Wait for 2 minutes | |
run: | | |
sleep 120 # Sleep for 2 minutes (2 minutes * 60 seconds/minute) | |
shell: bash | |
- name: Check Release Creation | |
run: | | |
if [[ -z "${{ steps.release-please.outputs.release_created }}" ]]; then | |
exit 1 | |
fi | |
latest_tag=$(gh release list --limit 1 --repo ${{ env.Repo }} | awk '{print $1}') | |
echo "latest_tag=$latest_tag" >> $GITHUB_ENV | |
if gh release view " $latest_tag " > /dev/null; then | |
echo "Release was created." | |
else | |
echo "Release not created. Exiting." | |
exit 1 | |
fi | |
shell: bash | |
- name: Publish Windows Build | |
run: dotnet publish ${{github.workspace}}/RTWLib_CLI/RTWLib_CLI.csproj -c Release -r win-x64 --self-contained true -o ./publish/win-x64 | |
- name: Publish Windows Artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: RTWRand-windows | |
path: ${{github.workspace}}/publish/win-x64 | |
- name: Publish macOS Build | |
run: dotnet publish ${{github.workspace}}/RTWLib_CLI/RTWLib_CLI.csproj -c Release -r osx-x64 --self-contained true -o ./publish/osx-x64 | |
- name: Publish macOS Artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: RTWRand-macos | |
path: ${{github.workspace}}/publish/osx-64 | |
- name: Publish Linux Build | |
run: dotnet publish ${{github.workspace}}/RTWLib_CLI/RTWLib_CLI.csproj -c Release -r linux-x64 --self-contained true -o ./publish/linux-x64 | |
- name: Publish linux Artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: RTWRand-linux | |
path: ${{github.workspace}}/publish/linux-x64 | |
- name: Upload Release Artifacts | |
run: | | |
release_tag="${{ env.latest_tag }}" | |
gh release upload "$release_tag" ${{github.workspace}}/publish/win-x64/* --clobber | |
gh release upload "$release_tag" ${{github.workspace}}/publish/osx-x64/* --clobber | |
gh release upload "$release_tag" ${{github.workspace}}/publish/linux-x64/* --clobber | |
shell: bash | |