Merge pull request #1310 from lsst/update-bibfile-87a07ff #4104
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: CI | |
on: [push, pull_request] | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Install dependancies and linters | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install uv | |
python -m uv pip install --system pybtex | |
python -m uv pip install --system -r requirements.txt | |
- name: Run pybtex | |
run: make test-pybtex | |
- name: Run author check | |
run: make test-authors | |
- name: Run pytest | |
env: | |
PYTHONPATH: bin | |
run: pytest | |
- name: Run as test generateBibfile.py | |
run: | | |
bin/generateBibfile.py generated.bib | |
wc -l generated.bib | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Install Python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install uv | |
python -m uv pip install --system -r docs/requirements.txt | |
python -m uv pip install --system ltd-conveyor | |
- name: Pull existing images | |
run: | | |
docker pull lsstsqre/lsst-texmf:base || true | |
docker pull lsstsqre/lsst-texmf:dependencies || true | |
docker pull lsstsqre/lsst-texmf:latest || true | |
- name: Build the base Docker image | |
run: | | |
DOCKER_BUILDKIT=1 docker build \ | |
--build-arg BUILDKIT_INLINE_CACHE=1 \ | |
--target base \ | |
--cache-from=lsstsqre/lsst-texmf:base \ | |
--tag lsstsqre/lsst-texmf:base . | |
- name: Build the dependencies Docker image | |
run: | | |
DOCKER_BUILDKIT=1 docker build \ | |
--build-arg BUILDKIT_INLINE_CACHE=1 \ | |
--target dependencies \ | |
--cache-from=lsstsqre/lsst-texmf:dependencies \ | |
--tag lsstsqre/lsst-texmf:dependencies . | |
- name: Build the runtime Docker image | |
run: | | |
DOCKER_BUILDKIT=1 docker build \ | |
--build-arg BUILDKIT_INLINE_CACHE=1 \ | |
--target runtime \ | |
--cache-from=lsstsqre/lsst-texmf:latest \ | |
--tag lsstsqre/lsst-texmf:latest . | |
- name: Compile test and example documents | |
run: | | |
docker run --rm -v `pwd`:/workspace -w /lsst-texmf lsstsqre/lsst-texmf:latest sh -c 'make all && cp *.pdf /workspace' | |
- name: Test generateAcronyms.py | |
run: | | |
docker run -w /lsst-texmf lsstsqre/lsst-texmf:latest sh -c "make test-acronyms" | |
- name: Compile documentation | |
run: | | |
make docs | |
- name: Upload documentation | |
if: ${{ github.event_name == 'push' }} | |
env: | |
LTD_PASSWORD: ${{ secrets.LTD_PASSWORD }} | |
LTD_USERNAME: ${{ secrets.LTD_USERNAME }} | |
run: | | |
ltd upload --product lsst-texmf --gh --dir docs/_build/html | |
- name: Log into Docker Hub | |
run: echo ${{ secrets.DOCKER_TOKEN }} | docker login --username ${{ secrets.DOCKER_USERNAME }} --password-stdin | |
- name: Push Docker images | |
if: ${{ github.ref == 'refs/heads/main' && github.event_name == 'push' }} | |
run: | | |
docker push lsstsqre/lsst-texmf:base | |
docker push lsstsqre/lsst-texmf:dependencies | |
docker push lsstsqre/lsst-texmf:latest |