-
Notifications
You must be signed in to change notification settings - Fork 156
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add lint, build (multi-platform), and test (linux-only) GitHub Actions. Fix a variety of golangci-lint findings. For now, does not modify the windows Appveyor setup, and does not run the loadtester. Fixes #356
- Loading branch information
Showing
15 changed files
with
416 additions
and
194 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
name: Checks | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
|
||
permissions: | ||
contents: read | ||
pull-requests: read | ||
|
||
jobs: | ||
|
||
checks: | ||
name: Check Process | ||
runs-on: ubuntu-latest | ||
env: | ||
GO_VERSION: oldstable | ||
GOLANGCI_LINT_VERSION: v1.56.2 | ||
CGO_ENABLED: 0 | ||
|
||
steps: | ||
|
||
- name: Check out code | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Set up Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: ${{ env.GO_VERSION }} | ||
|
||
- name: Check and get dependencies | ||
run: | | ||
go mod tidy | ||
git diff --exit-code go.mod | ||
git diff --exit-code go.sum | ||
- name: vendoring | ||
run: go mod vendor | ||
|
||
- name: vendoring diff | ||
run: git diff --exit-code vendor/ | ||
|
||
# https://golangci-lint.run/usage/install#other-ci | ||
- name: Install golangci-lint ${{ env.GOLANGCI_LINT_VERSION }} | ||
run: | | ||
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin ${GOLANGCI_LINT_VERSION} | ||
golangci-lint run | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
name: Go Matrix | ||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
|
||
permissions: | ||
contents: read | ||
pull-requests: read | ||
|
||
jobs: | ||
|
||
cross: | ||
name: Build | ||
runs-on: ${{ matrix.os }} | ||
env: | ||
CGO_ENABLED: 0 | ||
|
||
strategy: | ||
matrix: | ||
go-version: [ oldstable, stable ] | ||
os: [ubuntu-latest, macos-latest, windows-latest] | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Set up Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: ${{ matrix.go-version }} | ||
|
||
- name: Build pebble | ||
run: go build -v -ldflags "-s -w" -trimpath -o pebble ./cmd/pebble | ||
|
||
- name: Build pebble-challtestsrv | ||
run: go build -v -ldflags "-s -w" -trimpath -o pebble-challtestsrv ./cmd/pebble-challtestsrv |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
name: Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
|
||
permissions: | ||
contents: read | ||
pull-requests: read | ||
|
||
jobs: | ||
|
||
test-linux: | ||
name: Test on Linux | ||
runs-on: ubuntu-latest | ||
env: | ||
GO_VERSION: oldstable | ||
steps: | ||
|
||
- name: Setup /etc/hosts | ||
run: | | ||
echo "127.0.0.1 example.letsencrypt.org" | sudo tee -a /etc/hosts | ||
echo "127.0.0.1 elpmaxe.letsencrypt.org" | sudo tee -a /etc/hosts | ||
# https://github.com/marketplace/actions/checkout | ||
- name: Check out code | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
# https://github.com/marketplace/actions/setup-go-environment | ||
- name: Set up Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: ${{ env.GO_VERSION }} | ||
|
||
- name: apt install | ||
run: sudo apt-get install snapd python3-acme python3-josepy | ||
|
||
- name: snap install | ||
run: sudo snap install core && sudo snap refresh core | ||
|
||
- name: snap install certbot | ||
run: sudo snap install --classic certbot && sudo ln -s /snap/bin/certbot /usr/bin/certbot | ||
|
||
- name: go install tools | ||
run: go install golang.org/x/tools/cmd/cover@latest | ||
|
||
- name: go install goveralls | ||
run: go install github.com/mattn/goveralls@latest | ||
|
||
- name: go install pebble | ||
run: go install -v -race ./... | ||
|
||
- name: launch pebble | ||
run: GORACE="halt_on_error=1" PEBBLE_WFE_NONCEREJECT=0 pebble & | ||
|
||
# Run project unit tests (with the race detector enabled and atomic coverage profile collection) | ||
- name: unittests | ||
run: go test -v -race -covermode=atomic -coverprofile=coverage.out ./... | ||
|
||
# # Upload collected coverage profile to goveralls | ||
# - name: goveralls | ||
# run: goveralls -coverprofile=coverage.out -service=github | ||
|
||
# Perform a test issuance with chisel2.py | ||
- name: chisel | ||
run: REQUESTS_CA_BUNDLE=./test/certs/pebble.minica.pem python ./test/chisel2.py example.letsencrypt.org elpmaxe.letsencrypt.org |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.