summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorTania Allard <taniar.allard@gmail.com>2021-04-26 21:19:39 +0100
committerGitHub <noreply@github.com>2021-04-26 22:19:39 +0200
commit128bbb9d861c2de62cd047925b03f28cf2649e2f (patch)
treeb08996a48aa98e2930de5b276dc2e00ac5bc7825 /.github
parent65a3e7d2d07844ec20aaba5912798ec27a3662f4 (diff)
downloadnumpy-128bbb9d861c2de62cd047925b03f28cf2649e2f.tar.gz
DEV: general Gitpod enhancements (#18822)
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/docker.yml59
-rw-r--r--.github/workflows/gitpod.yml55
2 files changed, 114 insertions, 0 deletions
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
new file mode 100644
index 000000000..52d78a38d
--- /dev/null
+++ b/.github/workflows/docker.yml
@@ -0,0 +1,59 @@
+name: Build Base Docker Image
+
+on:
+ push:
+ branches:
+ - main
+ paths:
+ - './environment.yml'
+ tags:
+ - '*'
+
+jobs:
+ build:
+ name: Build base Docker image
+ runs-on: ubuntu-latest
+ environment: numpy-dev
+ if: "github.repository_owner == 'numpy' && !contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[skip github]')"
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v2
+ - name: Lint Docker
+ uses: brpaz/hadolint-action@v1.2.1
+ with:
+ dockerfile: ./tools/gitpod/Dockerfile
+ - name: Get refs
+ shell: bash
+ run: |
+ export raw_branch=${GITHUB_REF#refs/heads/}
+ echo "::set-output name=branch::${raw_branch//\//-}"
+ echo "::set-output name=date::$(date +'%Y%m%d')"
+ echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)"
+ id: getrefs
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+ - name: Cache Docker layers
+ uses: actions/cache@v2
+ with:
+ path: /tmp/.buildx-cache
+ key: ${{ runner.os }}-buildx-${{ github.sha }}
+ restore-keys: ${{ runner.os }}-buildx-
+ - name: Login to Docker Hub
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ - name: Build and push
+ id: docker_build
+ uses: docker/build-push-action@v2
+ with:
+ context: "."
+ file: "./tools/gitpod/Dockerfile"
+ push: ${{ github.event_name != 'pull_request' }}
+ cache-from: type=local,src=/tmp/.buildx-cache
+ cache-to: type=local,dest=/tmp/.buildx-cache
+ tags: |
+ numpy/numpy-dev:${{ steps.getrefs.outputs.date }}-${{ steps.getrefs.outputs.branch}}-${{ steps.getrefs.outputs.sha8 }}, numpy/numpy-dev:latest
+ - name: Image digest
+ # Return details of the image build: sha and shell
+ run: echo ${{ steps.docker_build.outputs.digest }} \ No newline at end of file
diff --git a/.github/workflows/gitpod.yml b/.github/workflows/gitpod.yml
new file mode 100644
index 000000000..55683bcae
--- /dev/null
+++ b/.github/workflows/gitpod.yml
@@ -0,0 +1,55 @@
+name: Build Gitpod Docker image
+
+on:
+ push:
+ branches:
+ - main
+
+jobs:
+ build:
+ name: Build Gitpod Docker image
+ runs-on: ubuntu-latest
+ environment: numpy-dev
+ if: "github.repository_owner == 'numpy' && !contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[skip github]')"
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v2
+ - name: Lint Docker
+ uses: brpaz/hadolint-action@v1.2.1
+ with:
+ dockerfile: ./tools/gitpod/gitpod.Dockerfile
+ - name: Get refs
+ shell: bash
+ run: |
+ export raw_branch=${GITHUB_REF#refs/heads/}
+ echo "::set-output name=branch::${raw_branch//\//-}"
+ echo "::set-output name=date::$(date +'%Y%m%d')"
+ echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)"
+ id: getrefs
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+ - name: Cache Docker layers
+ uses: actions/cache@v2
+ with:
+ path: /tmp/.buildx-cache
+ key: ${{ runner.os }}-buildx-${{ github.sha }}
+ restore-keys: ${{ runner.os }}-buildx-
+ - name: Login to Docker Hub
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ - name: Build and push
+ id: docker_build
+ uses: docker/build-push-action@v2
+ with:
+ context: "."
+ file: "./tools/gitpod/gitpod.Dockerfile"
+ push: ${{ github.event_name != 'pull_request' }}
+ cache-from: type=local,src=/tmp/.buildx-cache
+ cache-to: type=local,dest=/tmp/.buildx-cache
+ tags: |
+ numpy/numpy-gitpod:${{ steps.getrefs.outputs.date }}-${{ steps.getrefs.outputs.branch}}-${{ steps.getrefs.outputs.sha8 }}, numpy/numpy-gitpod:latest
+ - name: Image digest
+ # Return details of the image build: sha and shell
+ run: echo ${{ steps.docker_build.outputs.digest }} \ No newline at end of file