Skip to content

Commit

Permalink
WIP: nightlies
Browse files Browse the repository at this point in the history
  • Loading branch information
legoktm committed Feb 5, 2024
1 parent 520e6a7 commit d525027
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 2 deletions.
78 changes: 78 additions & 0 deletions .github/workflows/nightlies.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: Nightlies
on:
push:
# schedule:
# - cron: "0 0 * * *"

defaults:
run:
shell: bash

jobs:
build-debs:
strategy:
matrix:
debian_version:
- bullseye
- bookworm
runs-on: ubuntu-latest
outputs:
artifact_id: ${{ steps.upload.outputs.artifact-id }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4
with:
repository: "freedomofpress/securedrop-builder"
path: "securedrop-builder"
lfs: true
- name: Build packages
run: |
git config --global --add safe.directory '*'
NIGHTLY=1 DEBIAN_VERSION=${{ matrix.debian_version }} BUILDER=securedrop-builder \
./scripts/build-debs.sh
- uses: actions/upload-artifact@v4
id: upload
with:
name: build-${{ matrix.debian_version }}
path: build
if-no-files-found: error

commit-and-push:
runs-on: ubuntu-latest
container: debian:bookworm
needs:
- build-debs
steps:
- name: Install dependencies
run: |
apt-get update && apt-get install --yes git git-lfs
- uses: actions/download-artifact@v4
with:
pattern: "*${{ matrix.debian_version }}"
- uses: actions/checkout@v4
with:
repository: "freedomofpress/securedrop-apt-test"
path: "securedrop-apt-test"
lfs: true
- uses: actions/checkout@v4
with:
repository: "freedomofpress/build-logs"
path: "build-logs"
- name: Commit and push
run: |
git config --global user.email "[email protected]"
git config --global user.name "sdcibot"
# First publish buildinfo files
cd build-logs
mkdir -p "buildinfo/$(date +%Y)"
cp -v ../build-*/*.buildinfo "buildinfo/$(date +%Y)"
git add .
git diff-index --quiet HEAD || git commit -m "Publishing buildinfo files for workstation nightlies"
# git push origin main
# Now the packages themselves
cd ../securedrop-apt-test
cp -v ../build-bullseye/*.deb workstation/bullseye-nightlies/
cp -v ../build-bookworm/*.deb workstation/bookworm-nightlies/
git add .
git diff-index --quiet HEAD || git commit -m "Automated SecureDrop workstation build"
# git push origin main
1 change: 1 addition & 0 deletions scripts/build-debs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,6 @@ $OCI_BIN pull debian:${DEBIAN_VERSION}

$OCI_BIN run --rm $OCI_RUN_ARGUMENTS \
-v "${BUILDER}:/builder:Z" \
--env NIGHTLY="${NIGHTLY:-}" \
--entrypoint "/src/scripts/build-debs-real.sh" \
debian:${DEBIAN_VERSION}
13 changes: 11 additions & 2 deletions scripts/fixup-changelog.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,14 @@ if [[ "$VERSION_CODENAME" == "" ]]; then
VERSION_CODENAME=$(echo $PRETTY_NAME | awk '{split($0, a, "[ /]"); print a[4]}')
fi

version=$(dpkg-parsechangelog -S Version)
sed -i "0,/${version}/ s//${version}+${VERSION_CODENAME}/" debian/changelog
VERSION=$(dpkg-parsechangelog -S Version)

NIGHTLY="${NIGHTLY:-}"
if [[ ! -z $NIGHTLY ]]; then
# Ideally we'd use `dch` here but then we have to install all of devscripts
NEW_VERSION="${VERSION}.dev$(date +%Y%m%d%H%M%S)"
else
NEW_VERSION=$VERSION
fi

sed -i "0,/${VERSION}/ s//${NEW_VERSION}+${VERSION_CODENAME}/" debian/changelog

0 comments on commit d525027

Please sign in to comment.