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: | export GITHUB_TOKEN=${{ secrets.GHCR_TOKEN }} CI_RUN=${CI} make test git config --global --add safe.directory /__w/semver-generator/semver-generator - 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"