Skip to content

Commit

Permalink
updated workflow files
Browse files Browse the repository at this point in the history
  • Loading branch information
ersilia-bot committed Apr 11, 2024
1 parent 991b1f5 commit d4ecd81
Showing 1 changed file with 77 additions and 32 deletions.
109 changes: 77 additions & 32 deletions .github/workflows/upload-model-to-dockerhub.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ jobs:
steps:
# https://github.com/docker/setup-qemu-action
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3

# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v3

# log in to dockerhub
- name: Login to Docker Hub
Expand All @@ -35,7 +35,22 @@ jobs:
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
lfs: 'true'

- 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: true

# 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
swap-storage: true

- name: Generate the Dockerfile
id: generate-dockerfile
env:
Expand All @@ -44,11 +59,67 @@ jobs:
wget https://raw.githubusercontent.com/ersilia-os/ersilia/master/.github/scripts/place_a_dockerfile_in_current_eos_repo.py
python -m pip install requests
python place_a_dockerfile_in_current_eos_repo.py $REPO_NAME
# We cannot tag it as anything other than latest because
# ersilia cli only looks for the 'latest' tag
- name: Build only AMD64 Image for Testing
id: buildForTest
uses: docker/build-push-action@v5
with:
context: .
load: true
tags: ersiliaos/${{ github.event.repository.name }}:latest

- name: Add conda to system path
run: echo $CONDA/bin >> $GITHUB_PATH

- name: Source conda
run: source $CONDA/etc/profile.d/conda.sh

- name: Set Python to 3.10.10
run:
conda install -y python=3.10.10

- name: Install dependencies
run: |
source activate
conda init
conda install git-lfs -c conda-forge
git-lfs install
conda install gh -c conda-forge
- name: Install ersilia
run: |
source activate
python --version
echo "After conda init"
conda init
python -m pip install git+https://github.com/ersilia-os/ersilia.git
# TODO This is very hacky, maybe we want to use the ersilia test command in the future for this
- name: Test Built Image
id: testBuiltImage
run: |
ersilia -v fetch ${{ github.event.repository.name }} --from_dockerhub
ersilia -v serve ${{ github.event.repository.name }}
ersilia -v run -i "CCCC" -o "output.json"
expected=$(jq '.[0].output.outcome[]' output.json | wc -l)
result=$(jq '.[0].output.outcome[] | select(. != null)' output.json | wc -l)
echo "Expected correct outcomes $expected"
echo "Returned correct outcomes $result"
if ! ([ $result -gt 0 ] && [ $result -le $expected ])
then
echo "Error in model output, aborting build and push"
exit 1
fi
env:
PULL_IMAGE: n

- name: Build and push
id: buildMultiple
continue-on-error: true
uses: docker/build-push-action@v2
uses: docker/build-push-action@v5
timeout-minutes: 45
with:
context: .
platforms: linux/amd64,linux/arm64
Expand All @@ -69,15 +140,15 @@ jobs:
- name: Build only for Linux/amd64
id: buildSingle
if: steps.buildCheck.outputs.failed == 'true'
uses: docker/build-push-action@v2
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64
push: ${{ github.event_name != 'pull_request' }}
tags: ersiliaos/${{ github.event.repository.name }}:latest

- name: Update Metadata JSON file with DockerHub info
id: UpdateMetadata
id: updateMetadata
run: |
mv Dockerfile_legacy Dockerfile
python3 -c "
Expand Down Expand Up @@ -106,32 +177,6 @@ jobs:
github_token: ${{ secrets.GITHUB_TOKEN }}
amend: true
force: true

- name: Add conda to system path
run: echo $CONDA/bin >> $GITHUB_PATH

- name: Source conda
run: source $CONDA/etc/profile.d/conda.sh

- name: Set Python to 3.10.10
run:
conda install -y python=3.10.10

- name: Install dependencies
run: |
source activate
conda init
conda install git-lfs -c conda-forge
git-lfs install
conda install gh -c conda-forge
- name: Install ersilia
run: |
source activate
python --version
echo "After conda init"
conda init
python -m pip install git+https://github.com/ersilia-os/ersilia.git

- name: Update metadata to AirTable
id: update-metadata-to-airtable
Expand Down

0 comments on commit d4ecd81

Please sign in to comment.