Skip to content

Upload Docker Software to TIRA #33

Upload Docker Software to TIRA

Upload Docker Software to TIRA #33

name: Upload Docker Software to TIRA
on:
workflow_dispatch:
inputs:
dockerpath:
description: The path to the directory of your submission. Should contain a Dockerfile that executes your code.
required: true
dataset:
type: choice
description: Dataset
options:
- authorship-verification-validation-20240408-training
- language-identification-validation-20240429-training
- paraphrase-identification-validation-20240515-training
jobs:
docker-build:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to Docker Hub
uses: docker/login-action@v2
with:
registry: registry.webis.de
username: ${{ secrets.TIRA_DOCKER_REGISTRY_USER }}
password: ${{ secrets.TIRA_DOCKER_REGISTRY_TOKEN }}
-
name: Set up Dependencies
uses: actions/setup-python@v4
with:
python-version: 3.8
-
name: Install required python packages
run: |
python -m pip install --upgrade pip
pip install tira requests==2.31.0
-
name: Set environment variables
env:
TIRA_TASK_ID: nlpbuw-fsu-sose-24
TIRA_VM_ID: buw-group-14-nlp
run: |
tira-run --export-submission-environment \
GITHUB_SHA=${{ github.sha }} \
TIRA_VM_ID=${{ env.TIRA_VM_ID }} \
TIRA_TASK_ID=${{ env.TIRA_TASK_ID }} \
TIRA_DOCKER_REGISTRY_TOKEN=${{ secrets.TIRA_DOCKER_REGISTRY_TOKEN }} \
TIRA_DOCKER_REGISTRY_USER=${{ secrets.TIRA_DOCKER_REGISTRY_USER }} \
TIRA_CLIENT_TOKEN=${{ secrets.TIRA_CLIENT_TOKEN }} \
TIRA_CLIENT_USER=${{ secrets.TIRA_CLIENT_USER }} \
TIRA_CODE_REPOSITORY_ID=${{ secrets.TIRA_CODE_REPOSITORY_ID }} \
TIRA_DOCKER_FILE=${{ inputs.dockerfile }}/Dockerfile \
TIRA_DOCKER_PATH=${{ inputs.dockerpath }} \
>> $GITHUB_ENV
- name: Build, test, and upload image
run: |
docker build -t ${{ env.IMAGE_TAG }} ${{ github.workspace }}/${{ inputs.dockerpath }}
tira-run --input-dataset nlpbuw-fsu-sose-24/${{ inputs.dataset }} --image ${{ env.IMAGE_TAG }} --push true --fail-if-output-is-empty