Skip to content

Feat: auto release (#26) #12

Feat: auto release (#26)

Feat: auto release (#26) #12

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