From be8cb741bed60ee6bbb835ee6f90e42f7f8d4e22 Mon Sep 17 00:00:00 2001 From: Amir Omidi Date: Wed, 15 Sep 2021 13:33:38 -0400 Subject: [PATCH] Integrate with goreleaser (#5654) * Integrate with goreleaser to make building and deployment of Boulder components easier. --- .github/workflows/goreleaser-ci.yml | 34 +++ .goreleaser.yml | 422 ++++++++++++++++++++++++++++ 2 files changed, 456 insertions(+) create mode 100644 .github/workflows/goreleaser-ci.yml create mode 100644 .goreleaser.yml diff --git a/.github/workflows/goreleaser-ci.yml b/.github/workflows/goreleaser-ci.yml new file mode 100644 index 000000000..f1f14798d --- /dev/null +++ b/.github/workflows/goreleaser-ci.yml @@ -0,0 +1,34 @@ +name: GoReleaser CI + +on: + push: + branches: + - main + - release-branch-* + pull_request: + branches: + - '**' + workflow_dispatch: + +jobs: + goreleaser_ci_build: + runs-on: ubuntu-latest + strategy: + matrix: + go-version: [1.17.0] + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Install go + uses: actions/setup-go@v2 + with: + go-version: ${{ matrix.go-version }} + + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v2 + with: + distribution: goreleaser + version: latest + args: release --rm-dist --skip-publish --skip-sign --skip-validate diff --git a/.goreleaser.yml b/.goreleaser.yml new file mode 100644 index 000000000..ac235d1f0 --- /dev/null +++ b/.goreleaser.yml @@ -0,0 +1,422 @@ +builds: + - id: admin-revoker + main: ./cmd/admin-revoker + binary: admin-revoker + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: akamai-purger + main: ./cmd/akamai-purger + binary: akamai-purger + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: bad-key-revoker + main: ./cmd/bad-key-revoker + binary: bad-key-revoker + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: boulder-ca + main: ./cmd/boulder-ca + binary: boulder-ca + goarch: + - amd64 + goos: + - linux + + - id: boulder-observer + main: ./cmd/boulder-observer + binary: boulder-observer + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: boulder-publisher + main: ./cmd/boulder-publisher + binary: boulder-publisher + goarch: + - amd64 + goos: + - linux + + - id: boulder-ra + main: ./cmd/boulder-ra + binary: boulder-ra + goarch: + - amd64 + goos: + - linux + + - id: boulder-sa + main: ./cmd/boulder-sa + binary: boulder-sa + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: boulder-va + main: ./cmd/boulder-va + binary: boulder-va + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: boulder-wfe + main: ./cmd/boulder-wfe + binary: boulder-wfe + goarch: + - amd64 + goos: + - linux + + - id: boulder-wfe2 + main: ./cmd/boulder-wfe2 + binary: boulder-wfe2 + goarch: + - amd64 + goos: + - linux + + - id: caa-log-checker + main: ./cmd/caa-log-checker + binary: caa-log-checker + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: ceremony + main: ./cmd/ceremony + binary: ceremony + goarch: + - amd64 + goos: + - linux + + - id: cert-checker + main: ./cmd/cert-checker + binary: cert-checker + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: contact-auditor + main: ./cmd/contact-auditor + binary: contact-auditor + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: expiration-mailer + main: ./cmd/expiration-mailer + binary: expiration-mailer + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: id-exporter + main: ./cmd/id-exporter + binary: id-exporter + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: log-validator + main: ./cmd/log-validator + binary: log-validator + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: nonce-service + main: ./cmd/nonce-service + binary: nonce-service + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: notify-mailer + main: ./cmd/notify-mailer + binary: notify-mailer + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: ocsp-responder + main: ./cmd/ocsp-responder + binary: ocsp-responder + goarch: + - amd64 + goos: + - linux + + - id: ocsp-updater + main: ./cmd/ocsp-updater + binary: ocsp-updater + goarch: + - amd64 + env: + - CGO_ENABLED=0 + goos: + - linux + + - id: orphan-finder + main: ./cmd/orphan-finder + binary: orphan-finder + goarch: + - amd64 + goos: + - linux + +nfpms: + - id: admin-revoker-package + package_name: admin-revoker + builds: + - admin-revoker + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: akamai-purger-package + package_name: akamai-purger + builds: + - akamai-purger + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: bad-key-revoker-package + package_name: bad-key-revoker + builds: + - bad-key-revoker + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: boulder-ca-package + package_name: boulder-ca + builds: + - boulder-ca + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: boulder-observer-package + package_name: boulder-observer + builds: + - boulder-observer + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: boulder-publisher-package + package_name: boulder-publisher + builds: + - boulder-publisher + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: boulder-ra-package + package_name: boulder-ra + builds: + - boulder-ra + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: boulder-sa-package + package_name: boulder-sa + builds: + - boulder-sa + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: boulder-va-package + package_name: boulder-va + builds: + - boulder-va + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: boulder-wfe-package + package_name: boulder-wfe + builds: + - boulder-wfe + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: boulder-wfe2-package + package_name: boulder-wfe2 + builds: + - boulder-wfe2 + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: caa-log-checker-package + package_name: caa-log-checker + builds: + - caa-log-checker + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: ceremony-package + package_name: ceremony + builds: + - ceremony + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: cert-checker-package + package_name: cert-checker + builds: + - cert-checker + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: contact-auditor-package + package_name: contact-auditor + builds: + - contact-auditor + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: expiration-mailer-package + package_name: expiration-mailer + builds: + - expiration-mailer + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: id-exporter-package + package_name: id-exporter + builds: + - id-exporter + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: log-validator-package + package_name: log-validator + builds: + - log-validator + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: nonce-service-package + package_name: nonce-service + builds: + - nonce-service + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: notify-mailer-package + package_name: notify-mailer + builds: + - notify-mailer + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: ocsp-responder-package + package_name: ocsp-responder + builds: + - ocsp-responder + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: ocsp-updater-package + package_name: ocsp-updater + builds: + - ocsp-updater + formats: + - rpm + - deb + bindir: /opt/boulder/bin + + - id: orphan-finder-package + package_name: orphan-finder + builds: + - orphan-finder + formats: + - rpm + - deb + bindir: /opt/boulder/bin