name: Build release package on: workflow_dispatch: jobs: build: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 - name: Install build tools run: | set -x sudo dpkg --add-architecture i386 curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages focal main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null sudo apt update sudo apt -y install gcc-multilib g++-multilib ninja-build python3-setuptools \ python3-wheel mesa-common-dev libxnvctrl-dev libdbus-1-dev \ python3-numpy python3-matplotlib unzip hub libxkbcommon-dev libwayland-dev wget unzip \ libxkbcommon-dev:i386 libwayland-dev:i386 gh sudo pip3 --no-input install 'meson>=0.60' mako wget https://github.com/KhronosGroup/glslang/releases/download/SDK-candidate-26-Jul-2020/glslang-master-linux-Release.zip unzip glslang-master-linux-Release.zip bin/glslangValidator sudo install -m755 bin/glslangValidator /usr/local/bin/ - 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" - name: Build and package run: | ./build-source.sh ./build.sh build -Dwerror=true package release - name: Upload assets to release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | tag_name="${GITHUB_REF##*/}" for pkg in ./build/*.tar.*; do gh release upload "$tag_name" "$pkg" --clobber done - name: Upload artifact uses: actions/upload-artifact@v3 continue-on-error: true with: name: MangoHud-${{steps.git-vars.outputs.artifact-metadata}} path: ${{runner.workspace}}/MangoHud/build/MangoHud-*tar.gz retention-days: 30