diff options
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/crossdev.yml | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml new file mode 100644 index 0000000..5af15bb --- /dev/null +++ b/.github/workflows/crossdev.yml @@ -0,0 +1,47 @@ +name: CI + +on: + push: + branches: + - master + pull_request: + branches: + - master + schedule: + - cron: 00 4 * * * + +jobs: + crossdev: + strategy: + matrix: + target: + - aarch64-unknown-linux-gnu + - aarch64-unknown-linux-musl + stage3: + - latest # `openrc` (glibc+GCC) is tagged as `latest` + - musl + name: crossdev target=${{ matrix.target }} stage3=${{ matrix.stage3 }} + runs-on: ubuntu-latest + container: docker.io/gentoo/stage3:${{ matrix.stage3 }} + steps: + - uses: actions/checkout@v4 + + - name: Install dependencies + run: | + emerge --sync --quiet + emerge \ + app-eselect/eselect-repository \ + sys-apps/config-site + + - name: Install crossdev + run: make install + + - name: Create cross environment + run: | + eselect repository create crossdev + crossdev ${{ matrix.args }} --target ${{ matrix.target }} + + # zstd and its dependencies need both C and C++ toolchain. If any of them + # is broken, the installation will fail. + - name: Sanity check + run: ${{ matrix.target }}-emerge app-arch/zstd |