name: Build release package on: release: types: ["created"] push: tags: ["v*"] branches: - main workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install build tools run: | sudo apt update sudo apt install gcc-multilib g++-multilib ninja-build python3-setuptools python3-wheel mesa-common-dev libxnvctrl-dev libdbus-1-dev - name: Prepare Artifact Git Info shell: bash run: | echo "##[set-output name=branch;]${GITHUB_REF#refs/heads/}" ARTIFACT_NAME="commit-$(git rev-parse --short "$GITHUB_SHA")" if [ ${{ github.event_name == 'pull_request' }} ]; then echo "##[set-output name=short-sha;]$(git rev-parse --short "${{ github.event.pull_request.head.sha }}")" if [ ! -z "${{ github.event.pull_request.number }}" ]; then ARTIFACT_NAME="pr-${{ github.event.pull_request.number }}-commit-$(git rev-parse --short "${{ github.event.pull_request.head.sha }}")" fi else echo "##[set-output name=short-sha;]$(git rev-parse --short "$GITHUB_SHA")" fi echo "##[set-output name=artifact-metadata;]${ARTIFACT_NAME}" id: git-vars - name: Build release package env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | ./build-source.sh ./build.sh build package release - if: github.event_name == 'release' && github.event.action == 'created' name: Upload release run: | assets=() for asset in ./MangoHud-*-Source*.tar.gz; do assets+=("-a" "$asset") done for asset in ./build/MangoHud-*.tar.gz; do assets+=("-a" "$asset") done tag_name="${GITHUB_REF##*/}" hub release create "${assets[@]}" -m "$tag_name" "$tag_name" - name: Upload artifact uses: actions/upload-artifact@v2 continue-on-error: true with: name: MangoHud-${{steps.git-vars.outputs.artifact-metadata}} path: ${{runner.workspace}}/MangoHud/build/MangoHud-*tar.gz retention-days: 30