From 217cd4bf706e73b6677e1a1d030778ba50c3f040 Mon Sep 17 00:00:00 2001 From: Christophe Fergeau Date: Thu, 13 Jun 2024 11:35:05 +0200 Subject: [PATCH] gh: Enable builds/tests/linting through github actions --- .github/dependabot.yml | 5 +++ .github/workflows/macadam.yml | 67 +++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 .github/workflows/macadam.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml index ff2bbf7e..b3b12a85 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -10,3 +10,8 @@ updates: schedule: interval: daily open-pull-requests-limit: 10 +- package-ecosystem: github-actions + directory: "/" + schedule: + interval: daily + open-pull-requests-limit: 10 diff --git a/.github/workflows/macadam.yml b/.github/workflows/macadam.yml new file mode 100644 index 00000000..fe6b87b2 --- /dev/null +++ b/.github/workflows/macadam.yml @@ -0,0 +1,67 @@ +name: Build +on: + push: + pull_request: {} +jobs: + build: + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + go: + - oldstable + - stable + steps: + - name: Check out repository code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: >- + WORKAROUND: Fetch tags that points to the revisions + checked-out(actions/checkout#1467) + run: |- + git fetch --tags --force + + - name: Set up Go + uses: actions/setup-go@v5 + - name: Build + run: make cross + - name: Upload macadam artifact + if: matrix.go == 'stable' + uses: actions/upload-artifact@v4 + with: + name: amd64 linux binary + path: "./bin/macadam-linux-amd64" + test: + needs: build + strategy: + matrix: + os: + - ubuntu-22.04 + - macos-13 + - windows-latest + runs-on: ${{ matrix.os }} + steps: + - name: Check out repository code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Set up Go + uses: actions/setup-go@v5 + - name: Test + run: make test + lint: + needs: build + runs-on: ubuntu-22.04 + steps: + - name: Check out repository code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Set up Go + uses: actions/setup-go@v5 + - name: golangci-lint + uses: golangci/golangci-lint-action@v6 + - name: vet + run: make vet