Skip to content

Go

Go #520

Workflow file for this run

name: Go
on:
workflow_dispatch: null
push:
branches:
- main
pull_request:
branches:
- main
schedule:
# Run full test once a day
- cron: "0 0 * * *"
permissions: {}
jobs:
build:
name: Build
runs-on: ubuntu-latest
permissions:
contents: read
steps:
# https://github.com/actions/setup-go
- name: Set up Go
uses: actions/setup-go@v5
with:
cache: false
go-version: 1.22.1
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: golangci-lint
uses: golangci/golangci-lint-action@v6
with:
# Required: the version of golangci-lint is required
# and must be specified without patch version:
# we always use the latest patch version.
version: v1.58.2
install-mode: "binary"
- name: Install GoReleaser
uses: goreleaser/goreleaser-action@v5
with:
install-only: true
- name: Show GoReleaser version
run: goreleaser --version
- name: Build
run: make build
- name: All Test
env:
# Access only to ec2 AMI api in read-only
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
UPDATECLI_GITEA_TOKEN: ${{ secrets.UPDATECLI_GITEA_TOKEN }}
run: make test
if: ${{ github.event_name == 'schedule' }}
# Codecov should only be updated if make test is executed
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
if: ${{ github.event_name == 'schedule' }}
# Manage and run your integration tests with efficiency
# https://github.com/ovh/venom