diff --git a/.devcontainer/cuda-opengl/devcontainer.json b/.devcontainer/cuda-opengl/devcontainer.json index 55c99bc..28e1870 100644 --- a/.devcontainer/cuda-opengl/devcontainer.json +++ b/.devcontainer/cuda-opengl/devcontainer.json @@ -2,6 +2,9 @@ // README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu { "name": "L-CAS Humble CUDA-OpenGL Devcontainer", + // Use the below image to not build locally (pushed by GitHub Action) + // disable the "build" section below in this case + // "image": "lcas.lincoln.ac.uk/devcontainer/lcas/rob2002:cuda-opengl-main", "build": { "dockerfile": "../Dockerfile", "args": { diff --git a/.github/workflows/dev-container.yml b/.github/workflows/dev-container.yml index a0f647d..7bfa1ab 100644 --- a/.github/workflows/dev-container.yml +++ b/.github/workflows/dev-container.yml @@ -7,15 +7,24 @@ on: push: branches: - main - + tags: + - '*' + jobs: build_devcontainer: - runs-on: ubuntu-latest + # only run for LCAS repositories + if: github.repository_owner == 'LCAS' || github.repository_owner == 'lcas' + runs-on: lcas strategy: matrix: config: - cuda-opengl steps: + - name: Node Js + uses: actions/setup-node@v4 + with: + node-version: "^16.13.0 || >=18.0.0" + - name: Checkout from github uses: actions/checkout@v3 - name: extract the github reference @@ -23,11 +32,36 @@ jobs: - name: "image name from repo name" id: docker_image_name run: echo "docker_image=${{ github.repository }}" | tr '[:upper:]' '[:lower:]' |sed 's/[^0-9,a-z,A-Z,=,_,\/]/-/g' >>${GITHUB_OUTPUT} - - name: Build and run dev container task + + - name: Docker Login LCAS + # don't attempt to login for PRs + if: ${{ github.event_name != 'pull_request' }} + # You may pin to the exact commit or the version. + # uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + uses: docker/login-action@v2 + with: + # Server address of Docker registry. If not set then will default to Docker Hub + registry: lcas.lincoln.ac.uk + # Username used to log against the Docker registry + username: ${{ secrets.LCAS_REGISTRY_PUSHER }} + # Password or personal access token used to log against the Docker registry + password: ${{ secrets.LCAS_REGISTRY_TOKEN }} + + - name: Build dev container task + if: ${{ github.event_name == 'pull_request' }} uses: devcontainers/ci@v0.3 with: imageName: lcas.lincoln.ac.uk/devcontainer/${{ steps.docker_image_name.outputs.docker_image }} configFile: ./.devcontainer/${{ matrix.config }}/devcontainer.json push: never imageTag: ${{ matrix.config }}-${{ env.BRANCH }} + #runCmd: "bash .devcontainer/run-ci.sh" + - name: Build and push dev container image + if: ${{ github.event_name != 'pull_request' }} + uses: devcontainers/ci@v0.3 + with: + imageName: lcas.lincoln.ac.uk/devcontainer/${{ steps.docker_image_name.outputs.docker_image }} + configFile: ./.devcontainer/${{ matrix.config }}/devcontainer.json + push: always + imageTag: ${{ matrix.config }}-${{ env.BRANCH }} #runCmd: "bash .devcontainer/run-ci.sh" \ No newline at end of file