Skip to content

Commit

Permalink
Use the noBuild dockerfile for develop image and remove root Dockerfi…
Browse files Browse the repository at this point in the history
…le that becomes unused
  • Loading branch information
chris-j-h committed Jun 15, 2021
1 parent 3f00335 commit f3f9fa4
Show file tree
Hide file tree
Showing 4 changed files with 97 additions and 66 deletions.
17 changes: 0 additions & 17 deletions .github/workflows/docker-dry-run.yml

This file was deleted.

20 changes: 0 additions & 20 deletions .github/workflows/docker-push-latest.yml

This file was deleted.

112 changes: 97 additions & 15 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,11 @@ jobs:
with:
name: hashicorp-key-vault-dist
path: /home/runner/work/tessera/tessera/key-vault/hashicorp-key-vault/build/distributions/
- name: Upload kalium encryptor dist
uses: actions/upload-artifact@v1
with:
name: kalium-dist
path: /home/runner/work/tessera/tessera/encryption/encryption-kalium/build/distributions/
- name: Send slack notification
uses: homoluctus/slatify@v3.0.0
if: always()
Expand Down Expand Up @@ -143,6 +148,11 @@ jobs:
with:
name: hashicorp-key-vault-dist
path: /home/runner/work/tessera/tessera/key-vault/hashicorp-key-vault/build/distributions/
- name: Download kalium encryptor dist
uses: actions/download-artifact@v2
with:
name: kalium-dist
path: /home/runner/work/tessera/tessera/encryption/encryption-kalium/build/distributions/
- name: Execute gradle integration tests
run: |
./gradlew :tests:acceptance-test:clean :tests:acceptance-test:test --fail-fast -PexcludeTests="RunHashicorpIT,AwsKeyVaultIT,RecoverIT,RunAzureIT,RestSuiteHttpH2RemoteEnclaveEncTypeEC,CucumberTestSuite" --info
Expand Down Expand Up @@ -204,6 +214,11 @@ jobs:
with:
name: hashicorp-key-vault-dist
path: /home/runner/work/tessera/tessera/key-vault/hashicorp-key-vault/build/distributions/
- name: Download kalium encryptor dist
uses: actions/download-artifact@v2
with:
name: kalium-dist
path: /home/runner/work/tessera/tessera/encryption/encryption-kalium/build/distributions/
- name: Execute gradle integration tests
run: |
./gradlew :tests:acceptance-test:test --tests RestSuiteHttpH2RemoteEnclave --tests RestSuiteHttpH2RemoteEnclaveEncTypeEC --info
Expand Down Expand Up @@ -265,6 +280,11 @@ jobs:
with:
name: hashicorp-key-vault-dist
path: /home/runner/work/tessera/tessera/key-vault/hashicorp-key-vault/build/distributions/
- name: Download kalium encryptor dist
uses: actions/download-artifact@v2
with:
name: kalium-dist
path: /home/runner/work/tessera/tessera/encryption/encryption-kalium/build/distributions/
- name: Execute gradle
run: |
./gradlew :tests:acceptance-test:clean :tests:acceptance-test:test --tests CucumberTestSuite --info
Expand Down Expand Up @@ -325,6 +345,11 @@ jobs:
with:
name: hashicorp-key-vault-dist
path: /home/runner/work/tessera/tessera/key-vault/hashicorp-key-vault/build/distributions/
- name: Download kalium encryptor dist
uses: actions/download-artifact@v2
with:
name: kalium-dist
path: /home/runner/work/tessera/tessera/encryption/encryption-kalium/build/distributions/
- name: Run AWS tests
run: |
./gradlew :tests:acceptance-test:test --tests AwsKeyVaultIT --info
Expand Down Expand Up @@ -395,6 +420,11 @@ jobs:
with:
name: hashicorp-key-vault-dist
path: /home/runner/work/tessera/tessera/key-vault/hashicorp-key-vault/build/distributions/
- name: Download kalium encryptor dist
uses: actions/download-artifact@v2
with:
name: kalium-dist
path: /home/runner/work/tessera/tessera/encryption/encryption-kalium/build/distributions/
- name: Execute tests
run: |
./gradlew :tests:acceptance-test:clean :tests:acceptance-test:test --tests RecoverIT --info
Expand All @@ -418,32 +448,56 @@ jobs:
job_name: Recovery integration tests
url: ${{ secrets.SLACK_WEBHOOK }}

atest:
name: Quorum acceptence tests
build_image:
name: Build develop Docker image
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout code from SCM
uses: actions/checkout@v2
- name: Download tessera dist
uses: actions/download-artifact@v2
with:
name: tessera-dists
path: /home/runner/work/tessera/tessera/tessera-dist/build/distributions/
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build image as tar
uses: docker/build-push-action@v2
with:
tags: quorumengineering/tessera:develop
push: false
file: .github/workflows/noBuild.Dockerfile
context: /home/runner/work/tessera/tessera/tessera-dist/build/distributions/
outputs: type=docker,dest=/tmp/tessera-develop-image.tar
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: tessera-develop-image
path: /tmp/tessera-develop-image.tar

atest:
name: Quorum acceptance tests
needs: [build, build_image]
runs-on: ubuntu-latest
steps:
- name: Set up java
uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: 14
check-latest: true
- name: Download tessera dist
- name: Download image artifact
uses: actions/download-artifact@v2
with:
name: tessera-dists
path: /home/runner/work/tessera/tessera/tessera-dist/build/distributions/
- name: Build Tessera docker image
uses: docker/build-push-action@v1
with:
repository: quorumengineering/tessera
tags: develop
push: false
dockerfile: .github/workflows/noBuild.Dockerfile
path: /home/runner/work/tessera/tessera/tessera-dist/build/distributions/
name: tessera-develop-image
path: /tmp
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Load image
run: |
docker load --input /tmp/tessera-develop-image.tar
docker image ls -a
- name: Get version of Quorum to use
id: quorumver
run: |
Expand All @@ -457,7 +511,7 @@ jobs:
fi
echo "using version $VERSION"
echo ::set-output name=version::$VERSION
- name: Execute acceptence tests
- name: Execute acceptance tests
run:
docker run --entrypoint /bin/sh --network host -v /tmp/run/sh:/tmp/run.sh -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/acctests:/tmp/acctests -e TF_VAR_quorum_docker_image='{name="quorumengineering/quorum:${{ steps.quorumver.outputs.version }}",local=false}' quorumengineering/acctests:latest -c "mvn --no-transfer-progress -B -DskipToolsCheck test -Pauto -Dtags='\!async && (basic || basic-istanbul || networks/typical::istanbul)' -Dauto.outputDir=/tmp/acctests -Dnetwork.forceDestroy=true && cp -R /workspace/target/gauge /tmp/acctests/gauge && chmod -R 775 /tmp/acctests/gauge"
- name: Upload Gauge report
Expand All @@ -471,5 +525,33 @@ jobs:
if: always()
with:
type: ${{job.status}}
job_name: Quorum acceptence tests
job_name: Quorum acceptance tests
url: ${{ secrets.SLACK_WEBHOOK }}

push_docker_develop:
name: Push develop image to DockerHub
if: ${{ github.ref == 'refs/heads/master' }}
# arguably we should depend on all test steps, but this job only runs on pushes to master so all tests will have
# already passed in the PR. At a minimum we depend on atest as it actually uses the image.
needs: [build_image, atest]
runs-on: ubuntu-latest
steps:
- name: Download image artifact
uses: actions/download-artifact@v2
with:
name: tessera-develop-image
path: /tmp
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Load image
run: |
docker load --input /tmp/tessera-develop-image.tar
docker image ls -a
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
- name: Push image
run : |
docker push quorumengineering/tessera:develop
14 changes: 0 additions & 14 deletions Dockerfile

This file was deleted.

0 comments on commit f3f9fa4

Please sign in to comment.