From ba7865dc51e7f9868da7dce7019e100d043f8a8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Rolim?= Date: Mon, 2 Nov 2020 18:09:05 -0300 Subject: [PATCH] .github/workflows: add build.yaml. This commit enables CI on GitHub Actions. Taken from nilium's repository: https://github.com/nilium/ecks-bops-packages/blob/e9bf829752ab82d1170ceb5da60ad656ef372064/.github/workflows/build.yaml --- .github/workflows/build.yaml | 97 ++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 .github/workflows/build.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 00000000000..721ad18387b --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,97 @@ +name: Build Packages + +on: [push, pull_request] + +jobs: + # Lint changed templates. + xlint: + runs-on: ubuntu-18.04 + + env: + PATH: '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/usr/local/bin:/tmp/bin' + XLINT: '1' + LICENSE_LIST: common/travis/license.lst + + steps: + - name: Checkout + uses: actions/checkout@v1 + with: + fetch-depth: 200 + - name: Fetch upstream + run: common/travis/fetch_upstream.sh + - name: Get changed templates + run: common/travis/changed_templates.sh + - name: Fetch xtools + run: common/travis/fetch-xtools.sh + - name: Run xlint + run: common/travis/xlint.sh + + # Build changed packages. + build: + runs-on: ubuntu-18.04 + + container: + image: 'voidlinux/masterdir-${{ matrix.config.bootstrap }}:2019102301' + env: + PATH: '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/usr/local/bin:/tmp/bin' + ARCH: '${{ matrix.config.arch }}' + BOOTSTRAP: '${{ matrix.config.bootstrap }}' + HOSTREPO: /hostrepo + + strategy: + fail-fast: false + matrix: + config: + - { arch: x86_64, bootstrap: x86_64 } + - { arch: i686, bootstrap: i686 } + - { arch: aarch64, bootstrap: x86_64 } + - { arch: armv7l, bootstrap: x86_64 } + - { arch: x86_64-musl, bootstrap: x86_64-musl } + - { arch: armv6l-musl, bootstrap: x86_64-musl } + - { arch: aarch64-musl, bootstrap: x86_64-musl } + + steps: + - name: Prepare container + run: | + # Sync and upgrade once (catches xbps updates) + xbps-install -Syu + # Upgrade again (in case of an xbps update) + xbps-install -yu + # Install git + xbps-install -y git + + - name: Checkout + uses: actions/checkout@v1 + with: + fetch-depth: 200 + + - name: Create hostrepo + run: ln -s "$(pwd)" /hostrepo + + - name: Set mirrors + run: common/travis/set_mirror.sh + + - name: Configure xbps-src + run: common/travis/prepare.sh + + - name: Fetch upstream + run: common/travis/fetch_upstream.sh + + - name: Get changed templates + run: common/travis/changed_templates.sh + + - name: Build packages + run: | + ( + here="$(pwd)" + cd / + "$here/common/travis/build.sh" "$BOOTSTRAP" "$ARCH" + ) + + - name: Show files + run: | + ( + here="$(pwd)" + cd / + "$here/common/travis/show_files.sh" "$BOOTSTRAP" "$ARCH" + )