From d6cc6a6aded16642e1d60c7a1de542c30b224fa0 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. [ci skip] 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 commit message contains "[ci skip]" [ci skip] --- .github/workflows/build.yaml | 99 ++++++++++++++++++++++++++++++++++++ 1 file changed, 99 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..c684939a6de --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,99 @@ +name: Build Packages + +on: 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 + #if: "github.event.pull_request.draft == false && !contains(github.event.head_commit.message, '[ci skip]')" + if: "github.event.pull_request.draft" + + 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" + )