diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml new file mode 100644 index 000000000..25298b7bb --- /dev/null +++ b/.github/actionlint.yaml @@ -0,0 +1,6 @@ +self-hosted-runner: + # Blacksmith runners (https://blacksmith.sh) + labels: + - blacksmith-8vcpu-ubuntu-2404 + - blacksmith-12vcpu-macos-latest + - blacksmith-8vcpu-windows-2025 diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 87342283a..829563183 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -23,7 +23,7 @@ env: jobs: check: - runs-on: ubuntu-latest + runs-on: blacksmith-8vcpu-ubuntu-2404 steps: - name: Checkout Code uses: *checkout_action @@ -33,6 +33,7 @@ jobs: with: go-version: ${{ env.LATEST_GO_VERSION }} check-latest: true + cache: false # Blacksmith Go build cache replaces the Actions cache - name: Run golint run: | diff --git a/.github/workflows/echo.yml b/.github/workflows/echo.yml index caaff30c0..2f302efed 100644 --- a/.github/workflows/echo.yml +++ b/.github/workflows/echo.yml @@ -34,8 +34,16 @@ jobs: # As we depend on `golang.org/x/` libraries which only support the last 2 Go releases, we could have situations when # we derive from the last four major releases promise. go: ["1.25", "1.26", "1.27"] + # Jobs run on Blacksmith runners (https://blacksmith.sh), which sponsors Echo's CI + include: + - os: ubuntu-latest + runner: blacksmith-8vcpu-ubuntu-2404 + - os: macos-latest + runner: blacksmith-12vcpu-macos-latest + - os: windows-latest + runner: blacksmith-8vcpu-windows-2025 name: ${{ matrix.os }} @ Go ${{ matrix.go }} - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.runner }} steps: - name: Checkout Code uses: *checkout_action @@ -44,6 +52,7 @@ jobs: uses: *setup_go_action with: go-version: ${{ matrix.go }} + cache: false # Blacksmith Go build cache replaces the Actions cache - name: Run Tests run: go test -race --coverprofile=coverage.coverprofile --covermode=atomic ./... @@ -58,7 +67,7 @@ jobs: benchmark: needs: test name: Benchmark comparison - runs-on: ubuntu-latest + runs-on: blacksmith-8vcpu-ubuntu-2404 steps: - name: Checkout Code (Previous) uses: *checkout_action @@ -75,6 +84,7 @@ jobs: uses: *setup_go_action with: go-version: ${{ env.LATEST_GO_VERSION }} + cache: false # Blacksmith Go build cache replaces the Actions cache - name: Install Dependencies run: go install golang.org/x/perf/cmd/benchstat@latest diff --git a/README.md b/README.md index 3e4fb9a7b..1c827f8f6 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ [![Go Report Card](https://goreportcard.com/badge/github.com/labstack/echo?style=flat-square)](https://goreportcard.com/report/github.com/labstack/echo) [![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/labstack/echo/echo.yml?style=flat-square)](https://github.com/labstack/echo/actions) [![Codecov](https://img.shields.io/codecov/c/github/labstack/echo.svg?style=flat-square)](https://codecov.io/gh/labstack/echo) +[![CI powered by Blacksmith](https://img.shields.io/badge/CI%20powered%20by-Blacksmith-F0FB29.svg?style=flat-square&labelColor=000000)](https://blacksmith.sh) [![Forum](https://img.shields.io/badge/community-forum-00afd1.svg?style=flat-square)](https://github.com/labstack/echo/discussions) [![Twitter](https://img.shields.io/badge/twitter-@labstack-55acee.svg?style=flat-square)](https://twitter.com/labstack) [![License](https://img.shields.io/badge/license-mit-blue.svg?style=flat-square)](https://raw.githubusercontent.com/labstack/echo/master/LICENSE)