Skip to content

Bump version to 0.20.0 #67

Bump version to 0.20.0

Bump version to 0.20.0 #67

Workflow file for this run

# 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 }}"}'