Skip to content

Commit

Permalink
Merge pull request #496 from freedomofpress/migrate-lint-reprotest
Browse files Browse the repository at this point in the history
Migrate tests to GitHub Actions
  • Loading branch information
eloquence authored Apr 23, 2024
2 parents c745098 + 85e05a8 commit 3ae85f5
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 74 deletions.
69 changes: 0 additions & 69 deletions .circleci/config.yml

This file was deleted.

21 changes: 16 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,22 @@ jobs:
runs-on: ubuntu-latest
container: debian:bullseye
steps:
- name: Bootstrap Debian system package dependencies
run: |
apt-get update && apt-get install --yes --no-install-recommends make sudo git git-lfs ca-certificates
- uses: actions/checkout@v4
- name: Install dependencies
with:
lfs: true
- name: Install additional packages and Python dependencies
run: |
# Installs Python & bootstrap wheels, and initializes a virtualenv at .venv
make install-deps
./.venv/bin/pip install -r test-requirements.txt
- name: Run linters
run: |
apt-get update && apt-get install --yes --no-install-recommends make python3-pip
pip install -r test-requirements.txt
- name: Run lint checks
. ./.venv/bin/activate
make lint
- name: Run tests except reprotest
run: |
make lint
. ./.venv/bin/activate
make test
33 changes: 33 additions & 0 deletions .github/workflows/reprotest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: CI

on:
push:
pull_request:
schedule:
- cron: "0 6 * * *"

jobs:
reprotest:
runs-on: ubuntu-latest
container: debian:bullseye
steps:
- name: Bootstrap Debian system package dependencies
run: |
apt-get update && apt-get install --yes --no-install-recommends make sudo git git-lfs ca-certificates
- uses: actions/checkout@v4
with:
lfs: true
- name: Install additional packages and Python dependencies
run: |
# Installs Python & bootstrap wheels, and initializes a virtualenv at .venv
make install-deps
./.venv/bin/pip install -r test-requirements.txt
- name: Test wheel reproducibility
run: |
# Necessary to enable git operations without permission issues
git config --global --add safe.directory "*"
# Necessary to run checks as non-root user, to avoid reproducibility issues
adduser --system ci --ingroup root
chown ci:root -R .
sudo -u ci bash -c "source .venv/bin/activate && pytest -vvs tests/test_reproducible_wheels.py"

0 comments on commit 3ae85f5

Please sign in to comment.