diff --git a/.github/workflows/push-image-olmo.yml b/.github/workflows/push-image-olmo.yml new file mode 100644 index 000000000..12c5be539 --- /dev/null +++ b/.github/workflows/push-image-olmo.yml @@ -0,0 +1,79 @@ +# This is an example workflow file. +# +# When you add a new image, copy this file and then change all mentions of "hello-world" with +# the name of your new image. +# +# Read through the rest of the comments in this file to figure out how it works, and what else +# you need to change. +name: build_open_instruct_olmo + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +on: + push: + # Run this workflow anytime a push updates one of the files in the image's directory + # (other than the README), and anytime there's a new release tag for this image. + paths: + - 'open_instruct/**' + - '!open_instruct/README.md' + - 'requirements-olmo.txt' + - 'Dockerfile.olmo' + # Note, add .olmo dockerfile + requirements if adding auto build to those + branches: [main] + pull_request: # note, comment this out for running on every push + # Also run on PRs that update the files in the image's directory (other than README). + branches: [main] + paths: + - 'open_instruct/**' + - '!open_instruct/README.md' + - 'requirements-olmo.txt' + - 'Dockerfile.olmo' + workflow_dispatch: # This allows us to manually trigger a build through the GitHub UI. + +env: + DOCKER_BUILDKIT: "1" + +jobs: + build: + name: open_instruct + runs-on: ubuntu-latest + timeout-minutes: 60 + if: (github.event_name != 'workflow_run') || (github.event.workflow_run.conclusion == 'success') + steps: + - uses: actions/checkout@v3 + + - name: Setup environment + uses: ./.github/actions/setup + with: + beaker_token: ${{ secrets.BEAKER_TOKEN }} + # ghcr_token: ${{ secrets.GHCR_TOKEN }} + # ghcr_user: ${{ secrets.GHCR_USER }} + + # big images fail, trying this + - name: Delete huge unnecessary tools folder + run: rm -rf /opt/hostedtoolcache + + - name: Build image + run: | + docker build \ + --build-arg BUILDKIT_INLINE_CACHE=1 \ + --build-arg CUDA=12.1.0 --build-arg \ + TARGET=cudnn8-devel --build-arg DIST=ubuntu20.04 \ + --build-arg REQUIRE=requirements.txt \ + -f Dockerfile.olmo . \ + -t open_instruct_olmo + + + - name: Check image + run: | + docker run --rm open_instruct_olmo + + - name: Push image + # if: github.event_name != 'pull_request' + uses: ./.github/actions/push + with: + image: open_instruct_olmo # this is the tag of the image we just built in the previous step + beaker: open_instruct_olmo_auto # this is the name of the image on Beaker + latest: true # this flag says we should also push this as the 'latest' version to GHCR \ No newline at end of file diff --git a/.github/workflows/push-image.yml b/.github/workflows/push-image.yml index 738788119..4e80a6adc 100644 --- a/.github/workflows/push-image.yml +++ b/.github/workflows/push-image.yml @@ -5,7 +5,7 @@ # # Read through the rest of the comments in this file to figure out how it works, and what else # you need to change. -name: open_instruct +name: build_open_instruct concurrency: group: ${{ github.workflow }}-${{ github.ref }}