Prior this commit the rpm for fedora 31 was built using the new spec file. The old spec file should be used for that Fedora version.
129 lines
3.5 KiB
YAML
129 lines
3.5 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.13
|
|
uses: actions/setup-go@v1
|
|
with:
|
|
go-version: 1.13
|
|
id: go
|
|
|
|
- name: Check out code into the Go module directory
|
|
uses: actions/checkout@v1
|
|
|
|
- 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 ./...
|
|
|
|
old_rpm_build:
|
|
name: "📦 RPM (golang-github-osbuild-composer)"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
fedora_release: ["31"]
|
|
container:
|
|
image: "docker.io/library/fedora:${{ matrix.fedora_release }}"
|
|
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: "🛒 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", "rawhide"]
|
|
container:
|
|
image: "docker.io/library/fedora:${{ matrix.fedora_release }}"
|
|
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: "🛒 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)
|