desc-python bleed #462
This file contains hidden or 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: desc-python bleed | |
| on: | |
| push: | |
| branches: | |
| - bleed | |
| workflow_dispatch: | |
| schedule: | |
| - cron: '45 20 * * 0' | |
| env: | |
| TEST_TAG: lsstdesc/desc-python:bleed-dev | |
| jobs: | |
| build: | |
| name: Build on Ubuntu | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| # https://github.com/jlumbroso/free-disk-space/issues/14 | |
| - name: Update Package List and Remove Dotnet | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get remove -y '^dotnet-.*' | |
| - name: Free Disk Space (Ubuntu) | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| # this might remove tools that are actually needed, | |
| # if set to "true" but frees about 6 GB | |
| tool-cache: false | |
| # all of these default to true, but feel free to set to | |
| # "false" if necessary for your workflow | |
| android: true | |
| dotnet: true | |
| haskell: true | |
| large-packages: true | |
| docker-images: true | |
| swap-storage: true | |
| - name: Aggressive cleanup | |
| run: | | |
| # Remove Java (JDKs) | |
| sudo rm -rf /usr/lib/jvm | |
| # Remove .NET SDKs | |
| sudo rm -rf /usr/share/dotnet | |
| # Remove Swift toolchain | |
| sudo rm -rf /usr/share/swift | |
| # Remove Haskell (GHC) | |
| sudo rm -rf /usr/local/.ghcup | |
| # Remove Julia | |
| sudo rm -rf /usr/local/julia* | |
| # Remove Android SDKs | |
| sudo rm -rf /usr/local/lib/android | |
| # Remove Chromium (optional if not using for browser tests) | |
| sudo rm -rf /usr/local/share/chromium | |
| # Remove Microsoft/Edge and Google Chrome builds | |
| sudo rm -rf /opt/microsoft /opt/google | |
| # Remove Azure CLI | |
| sudo rm -rf /opt/az | |
| # Remove PowerShell | |
| sudo rm -rf /usr/local/share/powershell | |
| # Remove CodeQL and other toolcaches | |
| sudo rm -rf /opt/hostedtoolcache | |
| docker system prune -af || true | |
| docker builder prune -af || true | |
| df -h | |
| - name: Docker login | |
| uses: docker/login-action@v3 | |
| with: | |
| username: heather999 | |
| password: '${{ secrets.DOCKERHUB_ACCESSTOK }}' | |
| - name: GHCR login | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: heather999 | |
| password: ${{ secrets.GHCR_TOKEN }} | |
| - name: checkout desc-python | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| ref: bleed | |
| - name : Get date | |
| run: | | |
| echo "DATE_TAG=$(date "+%F")" >> $GITHUB_ENV | |
| echo $GITHUB_WORKSPACE | |
| - name: Set up Docker Buildx | |
| id: buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: pull old build | |
| run: | | |
| docker pull lsstdesc/desc-python:bleed | |
| docker tag lsstdesc/desc-python:bleed lsstdesc/desc-python:bleed-old | |
| docker push lsstdesc/desc-python:bleed-old | |
| - name: Build | |
| id: docker_build | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| build-args: | | |
| GH_SHA=${{ github.sha }} | |
| push: true | |
| tags: ${{ env.TEST_TAG }} | |
| - name: test image before pushing | |
| run: | | |
| docker run --rm ${{ env.TEST_TAG }} /bin/bash -c "source /opt/desc/py/etc/profile.d/conda.sh && conda activate base && python -c 'import astropy'" | |
| docker tag ${{ env.TEST_TAG }} lsstdesc/desc-python:bleed-${{env.DATE_TAG}} | |
| docker push lsstdesc/desc-python:bleed-${{env.DATE_TAG}} | |
| docker tag ${{ env.TEST_TAG }} lsstdesc/desc-python:bleed | |
| docker push lsstdesc/desc-python:bleed | |
| docker tag ${{ env.TEST_TAG }} ghcr.io/lsstdesc/desc-python:bleed | |
| docker push ghcr.io/lsstdesc/desc-python:bleed | |