diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..468f194cb --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,62 @@ +name: build +on: + push: + branches: + - master + - v* + pull_request: +#env: + # Fake up DRONE_BRANCH so it's picked up when dapper gets to scripts/version + # This is no good for PRs, because it'll be, e.g. "697/merge", which breaks things + # as the version is used in file paths. Probably fine for master and v* versions + # though... + #DRONE_BRANCH: ${{ github.ref_name }} +jobs: + build-amd64-iso: + env: + ARCH: amd64 + HELM_VERSION: v3.3.1 + name: Build AMD64 ISO + runs-on: repo--harvester--harvester-installer--amd64 + container: + image: registry.suse.com/bci/golang:1.21 + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Do all the stuff that Dockerfile.dapper does + run: | + zypper -n rm container-suseconnect && \ + zypper -n install git curl podman podman-docker gzip tar wget zstd squashfs xorriso awk jq mtools dosfstools unzip rsync patch + curl -sfL https://github.com/mikefarah/yq/releases/download/v4.21.1/yq_linux_${ARCH} -o /usr/bin/yq && chmod +x /usr/bin/yq + curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.57.1 + mkdir /usr/tmp && \ + curl https://get.helm.sh/helm-${HELM_VERSION}-linux-${ARCH}.tar.gz | \ + tar xvzf - --strip-components=1 -C /usr/tmp/ && \ + mv /usr/tmp/helm /usr/bin/helm + # Note: this is missing grub2-mbr, grub2-efi and qemu tools + + - name: Keep git happy + run: git config --global --add safe.directory '*' + # without the above we get: + # fatal: detected dubious ownership in repository at '/__w/harvester-installer/harvester-installer' + # let's not worry about what the directories might be inside the runner and just allow everything + + - name: Run CI + run: scripts/ci + + # build-arm64-iso: + # name: Build ARM64 ISO + # runs-on: repo--harvester--harvester-installer--arm64 + # container: + # image: rancher/dapper:v0.5.8 + # steps: + # # Git is not in Dapper container image. Add it manually for dirty check. + # - name: Add Git + # run: apk add -U git + + # - name: Checkout code + # uses: actions/checkout@v4 + + # - name: Run dapper ci + # run: dapper ci