Skip to content

Commit

Permalink
build: enable github actions
Browse files Browse the repository at this point in the history
Signed-off-by: Phil Adams <[email protected]>
  • Loading branch information
padamstx committed Jan 7, 2025
1 parent f101f2f commit d2058fd
Showing 1 changed file with 100 additions and 0 deletions.
100 changes: 100 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# This workflow will build and unit test the project.
# If the workflow is running on the "main" branch, then
# semantic-release is also run to create a new release (if
# warranted by the new commits being built).

name: Build/Test/Publish

on:
push:
branches: ['**']
pull_request:
branches: ['**']
workflow_dispatch:
# Allow workflow to be triggered manually.

jobs:
detect-secrets:
if: "!contains(github.event.head_commit.message, '[skip ci]')"
name: Detect-Secrets
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.12

- name: Install detect-secrets
run: |
pip install --upgrade "git+https://github.com/ibm/detect-secrets.git@master#egg=detect-secrets"
- name: Run detect-secrets
run: |
detect-secrets scan --update .secrets.baseline
detect-secrets -v audit --report --fail-on-unaudited --fail-on-live --fail-on-audited-real .secrets.baseline
build:
needs: detect-secrets
if: "!contains(github.event.head_commit.message, '[skip ci]')"
name: Build/Test (Go v${{ matrix.go-version }})
runs-on: ubuntu-latest
strategy:
matrix:
go-version: ['1.21', '1.22', '1.23']

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Go v${{ matrix.go-version }}
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}

- name: Install dependencies
run: |
curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.61.0
golangci-lint version
go install golang.org/x/tools/cmd/goimports@latest
- name: Build/Test Project
run: make travis-ci

create_release:
needs: build
# Only run this job on the main branch and only for our min version of Go.
if: "github.ref_name == 'main' && github.event_name != 'pull_request'"
runs-on: ubuntu-latest
strategy:
matrix:
go-version: ['1.21']

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
persist-credentials: false

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12

- name: Install Deployment Tools
run: |
pip install bump-my-version
npm install
- name: Run semantic-release
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
run: npm run semantic-release

0 comments on commit d2058fd

Please sign in to comment.