From 1b8b41b4710b9f56aa2f2fb601311d8cbf7fb62a 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 Plus a few changes: - only run CI on PRs - don't run CI on draft PRs or when a PR title contains "[ci skip]" --- .github/workflows/build.yaml | 101 +++++++++++++++++++++++++++++++++++ 1 file changed, 101 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..abc9abd7b8f --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,101 @@ +name: Check PR + +on: pull_request + +jobs: + # Lint changed templates. + xlint: + name: Lint templates + 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: + name: Build packages + runs-on: ubuntu-18.04 + #if: " == false && !contains(github.event.head_commit.message, '[ci skip]')" + if: "!github.event.pull_request.draft && !contains(github.event_name, 'ci skip')" + + 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" + )