Bump version to 0.20.0 #67
Workflow file for this 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
# Copyright 2020 Wayback Archiver. All rights reserved. | |
# Use of this source code is governed by the GNU GPL v3 | |
# license that can be found in the LICENSE file. | |
# | |
name: Release | |
on: | |
push: | |
tags: | |
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 | |
env: | |
PRODUCT: wayback | |
permissions: | |
contents: read | |
jobs: | |
build: | |
name: Build | |
strategy: | |
matrix: | |
os: [ linux, freebsd, openbsd, dragonfly, windows, darwin ] | |
arch: [ amd64, 386 ] | |
include: | |
- os: linux | |
arch: arm | |
arm: 5 | |
- os: linux | |
arch: arm | |
arm: 6 | |
- os: linux | |
arch: arm | |
arm: 7 | |
- os: linux | |
arch: arm64 | |
- os: linux | |
arch: mips | |
mips: softfloat | |
- os: linux | |
arch: mips | |
mips: hardfloat | |
- os: linux | |
arch: mipsle | |
mipsle: softfloat | |
- os: linux | |
arch: mipsle | |
mipsle: hardfloat | |
- os: linux | |
arch: mips64 | |
- os: linux | |
arch: mips64le | |
- os: linux | |
arch: ppc64 | |
- os: linux | |
arch: ppc64le | |
- os: linux | |
arch: s390x | |
- os: windows | |
arch: arm | |
- os: windows | |
arch: arm64 | |
- os: android | |
arch: arm64 | |
- os: darwin | |
arch: arm64 | |
- os: freebsd | |
arch: arm64 | |
exclude: | |
- os: darwin | |
arch: 386 | |
- os: dragonfly | |
arch: 386 | |
fail-fast: false | |
uses: wabarc/.github/.github/workflows/reusable-builder-go.yml@main | |
with: | |
product: wayback | |
release: true | |
go-version: '^1.19' | |
go-os: ${{ matrix.os }} | |
go-arch: ${{ matrix.arch }} | |
go-arm: ${{ matrix.arm }} | |
go-mips: ${{ matrix.mips }} | |
go-mips64: ${{ matrix.mips64 }} | |
go-mipsle: ${{ matrix.mipsle }} | |
artifact-path: build/package/wayback* | |
egress-policy: audit | |
secrets: | |
wayback-ipfs-apikey: ${{ secrets.WAYBACK_IPFS_APIKEY }} | |
debpkg: | |
name: Build DEB | |
strategy: | |
matrix: | |
include: | |
- os: linux | |
arch: amd64 | |
- os: linux | |
arch: arm32 | |
arm: 7 | |
- os: linux | |
arch: arm64 | |
arm: 8 | |
fail-fast: false | |
uses: wabarc/.github/.github/workflows/reusable-builder-deb.yml@main | |
with: | |
product: wayback | |
go-arch: ${{ matrix.arch }} | |
go-arm: ${{ matrix.arm }} | |
artifact-path: build/package/wayback*.deb | |
egress-policy: audit | |
secrets: | |
wayback-ipfs-apikey: ${{ secrets.WAYBACK_IPFS_APIKEY }} | |
rpmpkg: | |
name: Build RPM | |
uses: wabarc/.github/.github/workflows/reusable-builder-rpm.yml@main | |
with: | |
product: wayback | |
params: 'make rpm' | |
artifact-path: build/package/wayback*.rpm | |
egress-policy: audit | |
secrets: | |
wayback-ipfs-apikey: ${{ secrets.WAYBACK_IPFS_APIKEY }} | |
wayback-signing-key: ${{ secrets.GEMFURY_SIGNING_KEY }} | |
wayback-signing-passpharse: ${{ secrets.GEMFURY_SIGNING_PASSPHARSE }} | |
aurpkg: | |
name: Build AUR | |
uses: wabarc/.github/.github/workflows/reusable-builder-aur.yml@main | |
with: | |
product: wayback | |
params: 'make submodule && cd build/aur && make volume' | |
artifact-path: | | |
build/aur/.SRCINFO | |
build/aur/PKGBUILD | |
build/aur/wayback*.pkg.tar.zst | |
egress-policy: audit | |
secrets: | |
wayback-ipfs-apikey: ${{ secrets.WAYBACK_IPFS_APIKEY }} | |
snapcraft: | |
name: Build Snap | |
uses: wabarc/.github/.github/workflows/reusable-builder-snap.yml@main | |
with: | |
product: wayback | |
channel: stable | |
release: true | |
publish: true | |
egress-policy: audit | |
secrets: | |
wayback-ipfs-apikey: ${{ secrets.WAYBACK_IPFS_APIKEY }} | |
snapcraft-token: ${{ secrets.SNAPCRAFT_TOKEN }} | |
flatpak: | |
name: Build Flatpak | |
uses: wabarc/.github/.github/workflows/reusable-builder-flatpak.yml@main | |
with: | |
product: wayback | |
params: 'make build' | |
artifact-path: org.wabarc.wayback-*.x86_64.flatpak | |
egress-policy: audit | |
secrets: | |
wayback-ipfs-apikey: ${{ secrets.WAYBACK_IPFS_APIKEY }} | |
release: | |
name: Create and upload release | |
needs: [ build, debpkg, rpmpkg, aurpkg, snapcraft, flatpak ] | |
permissions: | |
contents: write | |
uses: wabarc/.github/.github/workflows/reusable-releaser-go.yml@main | |
with: | |
product: wayback | |
generate-bina: true | |
release-apt: | |
if: github.repository == 'wabarc/wayback' | |
name: Release APT Repository | |
needs: [ release ] | |
uses: wabarc/.github/.github/workflows/reusable-releaser-gemfury.yml@main | |
with: | |
product: wayback | |
type: deb | |
secrets: | |
fury-token: ${{ secrets.FURY_TOKEN }} | |
release-rpm: | |
if: github.repository == 'wabarc/wayback' | |
name: Release RPM Repository | |
needs: [ release ] | |
uses: wabarc/.github/.github/workflows/reusable-releaser-gemfury.yml@main | |
with: | |
product: wayback | |
type: rpm | |
secrets: | |
fury-token: ${{ secrets.FURY_TOKEN }} | |
notification: | |
if: github.repository == 'wabarc/wayback' | |
name: Send Notification | |
runs-on: ubuntu-latest | |
needs: [ release ] | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 # v1.5.0 | |
with: | |
egress-policy: block | |
disable-telemetry: true | |
allowed-endpoints: > | |
api.telegram.org:443 | |
- name: Send release note to Telegram channel | |
continue-on-error: true | |
run: | | |
TEXT="${{ needs.release.outputs.release-note }}" | |
echo -e "${TEXT}" | |
curl --silent --output /dev/null --show-error --fail -X POST \ | |
-H 'Content-Type: application/json' \ | |
-d '{"chat_id": "${{ secrets.TELEGRAM_TO }}", "text": "'"${TEXT}"'", "parse_mode": "markdown"}' \ | |
"https://api.telegram.org/bot${{ secrets.TELEGRAM_TOKEN }}/sendMessage" | |
dispatch: | |
if: github.repository == 'wabarc/wayback' | |
name: Repository Dispatch | |
runs-on: ubuntu-latest | |
needs: [ release ] | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@2e205a28d0e1da00c5f53b161f4067b052c61f34 # v1.5.0 | |
with: | |
egress-policy: block | |
disable-telemetry: true | |
allowed-endpoints: > | |
api.github.com:443 | |
- name: Dispatch repository in wabarc/aur | |
uses: peter-evans/repository-dispatch@11ba7d3f32dc7cc919d1c43f1fec1c05260c26b5 # v2.0.0 | |
with: | |
repository: wabarc/aur | |
event-type: publish | |
token: ${{ secrets.PAT_WORKFLOW }} | |
client-payload: '{"from": "${{ github.repository }}", "channel": "stable"}' | |
- name: Dispatch repository in wabarc/homebrew-wayback | |
uses: peter-evans/repository-dispatch@11ba7d3f32dc7cc919d1c43f1fec1c05260c26b5 # v2.0.0 | |
with: | |
repository: wabarc/homebrew-wayback | |
event-type: publish | |
token: ${{ secrets.PAT_WORKFLOW }} | |
client-payload: '{"from": "${{ github.repository }}", "channel": "stable"}' | |
- name: Dispatch repository in flathub/org.eu.wabarc.wayback | |
uses: peter-evans/repository-dispatch@11ba7d3f32dc7cc919d1c43f1fec1c05260c26b5 # v2.0.0 | |
with: | |
repository: wabarc/org.eu.wabarc.wayback | |
event-type: publish | |
token: ${{ secrets.PAT_WORKFLOW }} | |
client-payload: '{"from": "${{ github.repository }}", "channel": "stable", "version": "${{ github.ref_name }}"}' |