• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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