diff --git a/.github/workflows/autoupdate.yaml b/.github/workflows/autoupdate.yaml new file mode 100644 index 0000000..100300d --- /dev/null +++ b/.github/workflows/autoupdate.yaml @@ -0,0 +1,73 @@ +name: Autoupdate go.mod and go.sum + +on: + workflow_dispatch: + schedule: + - cron: "0 3 * * *" + +env: + GO_VERSION: ">=1.21" + +jobs: + # This job is responsible for preparation of the build + # environment variables. + prepare: + name: Preparing build context + runs-on: ubuntu-latest + + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Install Go + uses: actions/setup-go@v5 + id: cache + with: + go-version: ${{env.GO_VERSION}} + cache-dependency-path: "**/*.sum" + + - name: Go get dependencies + if: steps.cache.outputs.cache-hit != 'true' + run: | + go get ./... + + # This job is responsible for running tests and linting the codebase + test: + name: "Unit testing" + runs-on: ubuntu-latest + container: golang:1 + needs: [prepare] + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Ensure full history is checked out + token: ${{ secrets.GHCR_TOKEN }} + + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version: ${{env.GO_VERSION}} + cache-dependency-path: "**/*.sum" + + - name: Install dependencies + run: | + apt-get update + apt-get install ca-certificates make -y + update-ca-certificates + go mod tidy + go get -u -v ./... + go mod tidy -v + + - name: Run unit tests + run: | + CI_RUN=${CI} make test + git config --global --add safe.directory /__w/graphql-monitoring-proxy/graphql-monitoring-proxy + + - name: Commit changes + uses: stefanzweifel/git-auto-commit-action@v5 + with: + commit_message: "Update go.mod and go.sum" + commit_options: "--no-verify --signoff" + file_pattern: "go.mod go.sum"