swayfx 0.4 #17
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
name: Package for Fedora Copr repo | |
on: | |
release: | |
types: [published] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
fedora-copr: | |
container: fedora:latest | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install API token for copr-cli | |
env: | |
# To generate a new token: https://copr.fedorainfracloud.org/api/. | |
API_LOGIN: ${{ secrets.COPR_API_LOGIN }} | |
API_USERNAME: ${{ secrets.COPR_API_USERNAME }} | |
API_TOKEN_CONTENT: ${{ secrets.COPR_API_TOKEN }} | |
run: | | |
mkdir -p "$HOME/.config" | |
# To generate a new token: https://copr.fedorainfracloud.org/api/. | |
echo "[copr-cli]" >> "$HOME/.config/copr" | |
echo "login = $API_LOGIN" >> "$HOME/.config/copr" | |
echo "username = $API_USERNAME" >> "$HOME/.config/copr" | |
echo "token = $API_TOKEN_CONTENT" >> "$HOME/.config/copr" | |
echo "copr_url = https://copr.fedorainfracloud.org" >> "$HOME/.config/copr" | |
- name: Install tooling for source RPM build | |
run: | | |
dnf -y install @development-tools @rpm-development-tools copr-cli rpkg git 'dnf-command(builddep)' | |
# It is necessary to checkout into sub-directory, because of some weird ownership problems cause by using containers | |
- name: Check out sources | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
path: swayfx | |
- name: Check out the latest tag | |
run: | | |
cp ./swayfx/build-scripts/swayfx.rpkg.spec ./ | |
cd swayfx | |
git stash save "Action stashing changes" | |
latestTag=$(git describe --abbrev=0 --tags) | |
git checkout $latestTag | |
- name: Copy master spec into root dir | |
run: | | |
cd swayfx | |
cp ../swayfx.rpkg.spec ./ | |
- name: Generate spec | |
run: | | |
cd swayfx | |
mkdir specs | |
rpkg spec --source --outdir specs | |
- name: Install build dependencies | |
run: | | |
cd swayfx | |
dnf -y builddep ./specs/swayfx.rpkg.spec | |
- name: Local build | |
run: | | |
cd swayfx | |
mkdir -p out | |
rpkg local --out `pwd`/out | |
- name: Test if installation of package is successful | |
run: | | |
cd swayfx/out | |
packages=(`rpmspec -q --nodebuginfo --qf \ | |
"./%{ARCH}/%{Name}-%{Version}-%{Release}.%{ARCH}.rpm\n" \ | |
../specs/swayfx.rpkg.spec`) | |
for i in "${packages[@]}"; do | |
dnf -y install "$i" | |
done | |
- name: Submit the build to copr | |
run: | | |
cd swayfx | |
rpkg -v copr-build -w ${{ secrets.COPR_REPO_NAME }} |