name: Build AppImage on: push: branches: - main tags: - v* paths-ignore: - web/** - doc/** concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: - ubuntu-20.04 - ubuntu-22.04 permissions: contents: write discussions: write steps: - run: sudo apt-get -qq update - name: Install dependencies run: | sudo apt-get install -yqq --no-install-recommends \ audacious-dev \ cmake \ gawk \ lcov \ libaudclient-dev \ libcairo2-dev \ libcurl4-gnutls-dev \ libdbus-glib-1-dev \ libfuse2 \ libglib2.0-dev \ libical-dev \ libimlib2-dev \ libircclient-dev \ libiw-dev \ liblua5.3-dev \ libmicrohttpd-dev \ libmysqlclient-dev \ libpulse-dev \ librsvg2-dev \ libsystemd-dev \ libwayland-bin \ libwayland-dev \ libx11-dev \ libxdamage-dev \ libxext-dev \ libxft-dev \ libxinerama-dev \ libxml2-dev \ libxmmsclient-dev \ libxnvctrl-dev \ ncurses-dev \ ninja-build \ pandoc \ python3 \ wayland-protocols \ && pip3 install --upgrade pyyaml - name: Checkout uses: actions/checkout@v4 - name: Get git version id: git-version run: echo "GIT_VERSION=$(git describe --tags)" >> $GITHUB_ENV - name: Import GPG Deploy Key run: | echo "${{ secrets.GPG_DEPLOY_KEY }}" > appimage/secret.gpg gpg --import appimage/secret.gpg - name: Build AppImage run: CC=clang-14 CXX=clang++-14 ./appimage/build.sh - name: Upload AppImage artifact uses: actions/upload-artifact@v4 with: name: "conky-${{ matrix.os }}-${{ env.GIT_VERSION }}.AppImage" path: conky-x86_64.AppImage if-no-files-found: error - name: Upload AppImage checksum artifact uses: actions/upload-artifact@v4 with: name: "conky-${{ matrix.os }}-${{ env.GIT_VERSION }}.AppImage" path: conky-x86_64.AppImage.sha256 if-no-files-found: error - name: Upload man page artifact uses: actions/upload-artifact@v4 with: name: conky.1.gz path: conky.1.gz release: runs-on: ubuntu-latest needs: build steps: - name: Download all artifacts uses: actions/download-artifact@v4 with: # conky.1.gz is created by all jobs! merge-multiple: true path: ${{ github.workspace }}/artifacts - name: Create Conky Release id: create_release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: draft: false prerelease: false discussion_category_name: General generate_release_notes: true files: | conky-*.AppImage* conky.1.gz