1name: Release 2 3on: 4 push: 5 tags: 6 - "v*" 7env: 8 distroseries: jammy 9 10jobs: 11 release: 12 if: false 13 runs-on: ubuntu-latest 14 defaults: 15 run: 16 shell: bash 17 steps: 18 - name: Add PPA 19 run: sudo add-apt-repository -y ppa:${{ vars.PPA }} 20 21 - name: Install prerequisites 22 run: sudo apt-get update -qq && sudo apt-get install -y cmake devscripts debhelper-compat=13 opencl-c-headers 23 24 - name: Import GPG signing key 25 run: echo "${{ secrets.DEB_SIGNING_KEY }}" | gpg --import 26 27 - name: Download and extract source code 28 run: | 29 wget -O $GITHUB_WORKSPACE/source.orig.tar.gz https://github.com/$GITHUB_REPOSITORY/archive/refs/tags/$GITHUB_REF_NAME.tar.gz 30 tar -xvf $GITHUB_WORKSPACE/source.orig.tar.gz 31 32 - name: Configure project out-of-tree 33 run: cmake 34 -S $GITHUB_WORKSPACE/OpenCL-ICD-Loader* 35 -B $GITHUB_WORKSPACE/../build 36 -D CMAKE_BUILD_TYPE=Release 37 -D CMAKE_INSTALL_PREFIX=/usr 38 -D BUILD_TESTING=OFF 39 -D LATEST_RELEASE_VERSION=$GITHUB_REF_NAME 40 -D CPACK_DEBIAN_PACKAGE_MAINTAINER="${{ vars.DEB_MAINTAINER }}" 41 -D DEBIAN_VERSION_SUFFIX=${{ vars.DEB_VERSION_SUFFIX }} 42 43 - name: Generate packaging scripts 44 run: cmake 45 -D CMAKE_CACHE_PATH=$GITHUB_WORKSPACE/../build/CMakeCache.txt 46 -D ORIG_ARCHIVE=$GITHUB_WORKSPACE/source.orig.tar.gz 47 -D LATEST_RELEASE_VERSION=$GITHUB_REF_NAME 48 -D DEBIAN_DISTROSERIES=${{ env.distroseries }} 49 -D DEBIAN_PACKAGE_MAINTAINER="${{ vars.DEB_MAINTAINER }}" 50 -D DEBIAN_VERSION_SUFFIX=${{ vars.DEB_VERSION_SUFFIX }} 51 -P $GITHUB_WORKSPACE/OpenCL-ICD-Loader*/cmake/DebSourcePkg.cmake 52 53 - name: Build source package 54 run: | 55 cd $GITHUB_WORKSPACE/OpenCL-ICD-Loader*/ 56 debuild -S -sa 57 58 - name: Build binary package 59 run: cpack 60 -G DEB 61 -C Release 62 -B $GITHUB_WORKSPACE/../build 63 --config $GITHUB_WORKSPACE/../build/CPackConfig.cmake 64 65 # The following step does not depend on the previous step "Build binary package", 66 # but if the binary package build is unsuccessful, it is better not to push the 67 # source packages to the PPA 68 - name: Push source package to the PPA 69 run: dput ppa:${{ vars.PPA }} $GITHUB_WORKSPACE/*source.changes 70 71 - name: Create GitHub release 72 uses: softprops/action-gh-release@v1 73 with: 74 files: ${{ github.workspace }}/../build/*.deb 75