Skip to content

CI: Travis -> GitHub Actions; Create Release Binaries and Container Images #37

CI: Travis -> GitHub Actions; Create Release Binaries and Container Images

CI: Travis -> GitHub Actions; Create Release Binaries and Container Images #37

Workflow file for this run

name: Tests
on:
push:
branches:
- main
pull_request:
permissions:
contents: read
pull-requests: read
jobs:
test-linux:
name: Run tests on Linux
runs-on: ubuntu-latest
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
# https://github.com/marketplace/actions/setup-go-environment
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Install packages
run: sudo apt-get install snapd python3-acme python3-josepy
- name: Setup snap
run: sudo snap install core && sudo snap refresh core
- name: Install certbot
run: sudo snap install --classic certbot && sudo ln -s /snap/bin/certbot /usr/bin/certbot
- name: go install pebble
run: go install -v -race ./...
- name: launch pebble
run: GORACE="halt_on_error=1" PEBBLE_WFE_NONCEREJECT=0 pebble &
# 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
# Run project unit tests (with the race detector enabled and atomic coverage profile collection)
- name: unittests
run: go test -v -race -covermode=atomic -coverprofile=profile.cov ./...
# Upload collected coverage profile to goveralls
- uses: shogo82148/actions-goveralls@v1
with:
path-to-profile: profile.cov