Convert some perl scripts to python #482
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
on: | |
push: | |
branches: | |
- master | |
env: | |
# Use docker.io for Docker Hub if empty | |
REGISTRY: ghcr.io | |
IMAGE_NAME: ${{ github.repository }} | |
# MANYLINUX_TAG: "2022-10-25-fbea779" | |
# github.repository as <account>/<repo> | |
# PYTHON_VERSION: "3.7" | |
# PYTHON_SHORT_VERSION: "cp37-cp37m" | |
# PYTHON_FULL_VERSION: "3.7.13" | |
QT_VERSION_MAJOR: "6" | |
# QT_VERSION_MINOR: "15" | |
# QT_VERSION_PATCH: "2" | |
# QT_VERSION: "5.15" | |
# QT_FULL_VERSION: "5.15.2" | |
# PYSIDE_VERSION: "2" | |
# LLVM_VERSION: "14.0.6" | |
# GCC_VERSION: "10.1.0" | |
jobs: | |
debian12: | |
name: "Build on Debian 12 with TensorFlow support" | |
runs-on: ubuntu-latest | |
# container: docker:20.10.13-dind | |
permissions: | |
contents: read | |
packages: write | |
# This is used to complete the identity challenge | |
# with sigstore/fulcio when running outside of PRs. | |
id-token: write | |
steps: | |
- name: "Checkout code" | |
uses: actions/checkout@v3 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/[email protected] | |
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: false | |
swap-storage: true | |
# Install the cosign tool except on PR | |
# https://github.com/sigstore/cosign-installer | |
- name: Install cosign | |
if: github.event_name != 'pull_request' | |
uses: sigstore/cosign-installer@main | |
with: | |
cosign-release: 'v1.4.0' | |
# Workaround: https://github.com/docker/build-push-action/issues/461 | |
- name: Setup Docker buildx | |
uses: docker/setup-buildx-action@v1 | |
# Login against a Docker registry except on PR | |
# https://github.com/docker/login-action | |
- name: Log into registry ${{ env.REGISTRY }} | |
if: github.event_name != 'pull_request' | |
uses: docker/login-action@v1 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
# Extract metadata (tags, labels) for Docker | |
# https://github.com/docker/metadata-action | |
- name: Extract Docker metadata | |
id: meta | |
uses: docker/metadata-action@v3 | |
with: | |
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
# Build and push Docker image with Buildx (don't push on PR) | |
# https://github.com/docker/build-push-action | |
- name: Build and push Docker image | |
id: build-and-push | |
# uses: docker/build-push-action@v2 | |
uses: docker/[email protected] | |
with: | |
context: . | |
file: "continuous_integration/Dockerfile-debian12" | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} | |
build-args: BRANCH=${{ github.ref_name }} | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
# Sign the resulting Docker image digest except on PRs. | |
# This will only write to the public Rekor transparency log when the Docker | |
# repository is public to avoid leaking data. If you would like to publish | |
# transparency data even for private images, pass --force to cosign below. | |
# https://github.com/sigstore/cosign | |
# - name: Sign the published Docker image | |
# if: ${{ github.event_name != 'pull_request' }} | |
# env: | |
# COSIGN_EXPERIMENTAL: "true" | |
# # This step uses the identity token to provision an ephemeral certificate | |
# # against the sigstore community Fulcio instance. | |
# run: cosign sign ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@${{ steps.build-and-push.outputs.digest }} | |
ubuntu22_04_lima: | |
name: "Build the Ubuntu 22.04 Lima image" | |
runs-on: ubuntu-latest | |
steps: | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: "Checkout code" | |
uses: actions/checkout@v3 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/[email protected] | |
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: false | |
swap-storage: true | |
- name: "Build image" | |
run: docker build -f ./continuous_integration/Dockerfile-ubuntu22.04 --build-arg BRANCH="${{ github.ref_name }}" --build-arg PACKAGES="no" --build-arg GITHUB_TOKEN="${{ secrets.GITHUB_TOKEN }}" -t aymara/lima-ubuntu22.04:latest . | |
- name: "Push image" | |
run: docker push aymara/lima-ubuntu22.04:latest | |
ubuntu22_04_lima_factoryia: | |
name: "Build the Ubuntu 22.04 Lima image for the FactoryIA cluster" | |
runs-on: ubuntu-latest | |
env: | |
LIBTORCH_DL: "./download_libtorch_gpu.sh" | |
COMPILER: "gcc" | |
steps: | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: "Checkout code" | |
uses: actions/checkout@v3 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/[email protected] | |
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: false | |
swap-storage: true | |
- name: "Build image" | |
run: docker build -f ./continuous_integration/Dockerfile-ubuntu22.04-fia --build-arg BRANCH="${{ github.ref_name }}" --build-arg CFLAGS="${CFLAGS}" --build-arg CXXFLAGS="${CXXFLAGS}" --build-arg LIBTORCH_DL="${LIBTORCH_DL}" --build-arg COMPILER="gcc" --build-arg PACKAGES="no" --build-arg GITHUB_TOKEN="${{ secrets.GITHUB_TOKEN }}" -t aymara/lima-ubuntu22.04-fia:latest . | |
- name: "Push docker image" | |
run: docker push aymara/lima-ubuntu22.04-fia:latest |