Skip to content

Commit

Permalink
adding actions
Browse files Browse the repository at this point in the history
  • Loading branch information
TheMarstonConnell committed Sep 12, 2024
1 parent de94cab commit 1d5a253
Show file tree
Hide file tree
Showing 5 changed files with 134 additions and 0 deletions.
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
- package-ecosystem: gomod
directory: "/"
schedule:
interval: daily
18 changes: 18 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Build

on:
pull_request:
push:
branches: ["main"]

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- uses: actions/setup-go@v5
with:
go-version: 1.23 # The Go version to download (if necessary) and use.
- name: Build CLI
run: go install
27 changes: 27 additions & 0 deletions .github/workflows/golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: golangci-lint
on:
push:
tags:
- v*
branches:
- main
pull_request:
permissions:
contents: read
# Optional: allow read access to pull request. Use with `only-new-issues` option.
# pull-requests: read
jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v5
with:
go-version: 1.23
- uses: actions/[email protected]
- name: golangci-lint
uses: golangci/golangci-lint-action@v6
with:
# Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version
version: latest
args: --timeout 10m
60 changes: 60 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Release

on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+" # Push events to matching v*, i.e. v20.15.10
- "v[0-9]+.[0-9]+.[0-9]+.?[0-9]*" # Push events to matching v*, v20.15.10.1
- "v[0-9]+.[0-9]+.[0-9]+-alpha.[0-9]+" # Push events to matching alpha releases
- "v[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+" # Push events to matching beta releases
- "v[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+" # Push events to matching release candidates


jobs:
native-build-cli:
runs-on: ${{matrix.os}}
strategy:
matrix:
os: [ubuntu-20.04, macos-latest]
steps:
- uses: actions/[email protected]
- uses: actions/setup-go@v5
with:
go-version: 1.23 # The Go version to download (if necessary) and use.
- name: Build CLI
shell: bash
run: |
make build
cp "build/mulberry" "mulberry-$RUNNER_OS"
- uses: actions/upload-artifact@v4
with:
name: mulberry-${{runner.os}}
path: mulberry-${{runner.os}}

Release:
needs:
[native-build-cli]
runs-on: ubuntu-20.04
steps:
- uses: actions/[email protected]
- name: Get the version
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/v/}
- name: Declare Commit Variables
id: is_pre_release
shell: bash
run: |
echo "::set-output name=IS_PRE_RELEASE::$(echo "${{ steps.get_version.outputs.VERSION }}" | awk 'BEGIN{prerelease="false"} /beta|alpha/{prerelease="true"} END{print prerelease}')"
- uses: actions/download-artifact@v4
with:
name: mulberry-Linux
- uses: actions/download-artifact@v4
with:
name: mulberry-macOS
- name: Release
uses: softprops/action-gh-release@v2
with:
prerelease: ${{ steps.is_pre_release.outputs.IS_PRE_RELEASE }}
files: |
mulberry-macOS
mulberry-Linux
19 changes: 19 additions & 0 deletions .github/workflows/test-unit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Unit Test

on:
pull_request:
push:
branches: ["main"]

jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- uses: actions/setup-go@v5
with:
go-version: 1.23 # The Go version to download (if necessary) and use.
- name: Test
shell: bash
run: make test-unit

0 comments on commit 1d5a253

Please sign in to comment.