name: Release on: workflow_dispatch: jobs: # Lint changed templates. xlint: name: Lint templates runs-on: ubuntu-latest container: image: 'ghcr.io/void-linux/void-buildroot-musl:20231230R1' env: PATH: '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/usr/local/bin:/tmp/bin' LICENSE_LIST: common/travis/license.lst steps: - name: Prepare container run: | # switch to repo-ci mirror mkdir -p /etc/xbps.d && cp /usr/share/xbps.d/*-repository-*.conf /etc/xbps.d/ sed -i 's|repo-default|repo-ci|g' /etc/xbps.d/*-repository-*.conf # Sync and upgrade once, assume error comes from xbps update xbps-install -Syu || xbps-install -yu xbps # Upgrade again (in case there was a xbps update) xbps-install -yu # install tools needed for lints xbps-install -y grep curl git - name: Clone and checkout uses: classabbyamp/treeless-checkout-action@v1 - name: Create hostrepo and prepare masterdir run: | ln -s "$(pwd)" /hostrepo && common/travis/set_mirror.sh && common/travis/prepare.sh && common/travis/fetch-xtools.sh - run: common/travis/changed_templates.sh - name: Run lints run: | rv=0 common/travis/xlint.sh || rv=1 common/travis/verify-update-check.sh || rv=1 exit $rv # Build changed packages. build: name: Build packages runs-on: ubuntu-latest if: "!contains(github.event.pull_request.title, '[ci skip]') && !contains(github.event.pull_request.body, '[ci skip]')" container: image: ghcr.io/void-linux/void-buildroot-${{ matrix.config.libc }}:20231230R1 options: --platform ${{ matrix.config.platform }} env: PATH: '/usr/libexec/chroot-git:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/usr/local/bin:/tmp/bin' ARCH: '${{ matrix.config.arch }}' BOOTSTRAP: '${{ matrix.config.host }}' TEST: '${{ matrix.config.test }}' HOSTREPO: /hostrepo strategy: fail-fast: false matrix: config: - { arch: x86_64, host: x86_64, libc: glibc, platform: linux/amd64, test: 1 } #- { arch: i686, host: i686, libc: glibc, platform: linux/386, test: 1 } #- { arch: aarch64, host: x86_64, libc: glibc, platform: linux/amd64, test: 0 } #- { arch: armv7l, host: x86_64, libc: glibc, platform: linux/amd64, test: 0 } #- { arch: x86_64-musl, host: x86_64-musl, libc: musl, platform: linux/amd64, test: 1 } #- { arch: armv6l-musl, host: x86_64-musl, libc: musl, platform: linux/amd64, test: 0 } #- { arch: aarch64-musl, host: x86_64-musl, libc: musl, platform: linux/amd64, test: 0 } steps: - name: Prepare container run: | # switch to repo-ci mirror mkdir -p /etc/xbps.d && cp /usr/share/xbps.d/*-repository-*.conf /etc/xbps.d/ sed -i 's|repo-default|repo-ci|g' /etc/xbps.d/*-repository-*.conf # Sync and upgrade once, assume error comes from xbps update xbps-install -Syu || xbps-install -yu xbps # Upgrade again (in case there was a xbps update) xbps-install -yu xbps-install -y cmake python3 tar - name: Clone and checkout uses: classabbyamp/treeless-checkout-action@v1 - name: Create hostrepo and prepare masterdir run: | ln -s "$(pwd)" /hostrepo && common/travis/set_mirror.sh && common/travis/prepare.sh && common/travis/fetch-xtools.sh - run: common/travis/changed_templates.sh - name: Build packages run: ./common/hypa/build.sh - name: Sign packages run: | echo -n "${{ secrets.SIGN_PRIVATE_KEY }}" > private.pem ./common/hypa/sign.sh hostdir/binpkgs ${{ secrets.SIGN_USERNAME }} ${{ secrets.SIGN_EMAIL }} - name: Build apindex run: | git clone https://github.com/libthinkpad/apindex.git cd apindex mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=/tmp/apindex make install - name: Generate index.html run: cd hostdir/binpkgs && /tmp/apindex/bin/apindex . - name: Upload Pages artifact uses: actions/upload-pages-artifact@v2 with: path: hostdir/binpkgs deploy: needs: build runs-on: ubuntu-latest permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2