This is the same fix as in7ff15e1f, but for the old package (and therefore for f31). Copy of the7ff15e1fcommit message: The source of issue here is that our release cycles are synchronized and if we want to use the latest released osbuild we need to wait for the bodhi process. It makes sense that we don't want to use latest osbuild from git master but we should be confident enough in the version we submit to bodhi. Using the version from updates-testing therefore fixes the issue with synchronization and avoids using unreleased versions.
138 lines
4 KiB
YAML
138 lines
4 KiB
YAML
name: Tests
|
|
|
|
# NOTE(mhayden): Restricting branches prevents jobs from being doubled since
|
|
# a push to a pull request triggers two events.
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- "*"
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
lint:
|
|
name: "🛃 Checks"
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Set up Go 1.12
|
|
uses: actions/setup-go@v1
|
|
with:
|
|
go-version: 1.12
|
|
id: go
|
|
|
|
- name: Check out code into the Go module directory
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Check that source has been prepared
|
|
run: |
|
|
./tools/prepare-source.sh
|
|
if [ -n "$(git status --porcelain)" ]; then
|
|
echo
|
|
echo "Please include these changes in your branch: "
|
|
git status -vv
|
|
exit "1"
|
|
else
|
|
exit "0"
|
|
fi
|
|
|
|
- name: Install golangci-lint
|
|
run: curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.23.7
|
|
|
|
- name: Run golangci-lint
|
|
run: $(go env GOPATH)/bin/golangci-lint run
|
|
|
|
- name: Run unit tests
|
|
run: go test -v -race -covermode atomic -coverprofile=coverage.txt ./...
|
|
|
|
- name: Send coverage to codecov.io
|
|
run: bash <(curl -s https://codecov.io/bash)
|
|
|
|
old_rpm_build:
|
|
name: "📦 RPM (golang-github-osbuild-composer)"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
fedora_release: ["31"]
|
|
container:
|
|
image: "quay.io/osbuild/osbuild-fedora${{ matrix.fedora_release }}:latest"
|
|
steps:
|
|
- name: "📥 Prepare container"
|
|
run: |
|
|
echo "fastestmirror=1" >> /etc/dnf/dnf.conf
|
|
echo "install_weak_deps=0" >> /etc/dnf/dnf.conf
|
|
rm -fv /etc/yum.repos.d/fedora*modular*
|
|
dnf -y upgrade
|
|
dnf -y install dnf-plugins-core findutils git make rpm-build rpmdevtools
|
|
|
|
- name: "🗄️ Clone the repository"
|
|
uses: actions/checkout@v2
|
|
|
|
- name: "🧱 Pre-install osbuild from updates-testing repo"
|
|
run: dnf -y --enablerepo=updates-testing install osbuild
|
|
|
|
- name: "🛒 Install RPM build dependencies"
|
|
run: dnf -y builddep golang-github-osbuild-composer.spec
|
|
|
|
- name: "🛠️ Build RPMs"
|
|
run: |
|
|
mkdir rpms
|
|
make old-srpm
|
|
cp -av rpmbuild/SRPMS/*.rpm rpms/
|
|
make old-rpm
|
|
cp -av rpmbuild/RPMS/*/*.rpm rpms/
|
|
|
|
- name: "📤 Upload artifacts"
|
|
uses: actions/upload-artifact@v1
|
|
with:
|
|
name: rpms
|
|
path: rpms/
|
|
|
|
- name: "🔎 Test RPM installation"
|
|
run: dnf -y install $(ls rpms/*.x86_64.rpm)
|
|
|
|
rpm_build:
|
|
name: "📦 RPM (osbuild-composer)"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
fedora_release: ["32", "33"]
|
|
container:
|
|
image: "quay.io/osbuild/osbuild-fedora${{ matrix.fedora_release }}:latest"
|
|
steps:
|
|
- name: "📥 Prepare container"
|
|
run: |
|
|
echo "fastestmirror=1" >> /etc/dnf/dnf.conf
|
|
echo "install_weak_deps=0" >> /etc/dnf/dnf.conf
|
|
rm -fv /etc/yum.repos.d/fedora*modular*
|
|
dnf -y upgrade
|
|
dnf -y install dnf-plugins-core findutils git make rpm-build rpmdevtools
|
|
|
|
- name: "🗄️ Clone the repository"
|
|
uses: actions/checkout@v2
|
|
|
|
- name: "🧱 Pre-install osbuild from updates-testing repo"
|
|
run: dnf -y --enablerepo=updates-testing install osbuild
|
|
|
|
- name: "🛒 Install RPM build dependencies"
|
|
run: dnf -y builddep osbuild-composer.spec
|
|
|
|
- name: "🛠️ Build RPMs"
|
|
run: |
|
|
mkdir rpms
|
|
make srpm
|
|
cp -av rpmbuild/SRPMS/*.rpm rpms/
|
|
make rpm
|
|
cp -av rpmbuild/RPMS/*/*.rpm rpms/
|
|
|
|
- name: "📤 Upload artifacts"
|
|
uses: actions/upload-artifact@v1
|
|
with:
|
|
name: rpms
|
|
path: rpms/
|
|
|
|
- name: "🔎 Test RPM installation"
|
|
run: dnf -y install $(ls rpms/*.x86_64.rpm)
|