Skip to content

Integration with Ghostarchive #1309

Integration with Ghostarchive

Integration with Ghostarchive #1309

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: Builder
on:
push:
branches: "*"
paths:
- "**/*.go"
- "go.mod"
- "go.sum"
- "Makefile"
- "build/**"
- ".github/workflows/builder.yml"
- "snapcraft.yaml"
pull_request:
branches: "*"
paths:
- "**/*.go"
- "go.mod"
- "go.sum"
workflow_dispatch:
permissions:
contents: read
# New runs to only cancel in-progress runs of the same workflow.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
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
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/binary/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
publish: ${{ github.repository == 'wabarc/wayback' && github.event_name == 'push' }}
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
version: edge
params: 'make build'
artifact-path: org.wabarc.wayback-*.x86_64.flatpak
egress-policy: audit
secrets:
wayback-ipfs-apikey: ${{ secrets.WAYBACK_IPFS_APIKEY }}