Skip to content

desc-python bleed

desc-python bleed #462

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