|
|
|
|
@ -109,3 +109,173 @@ jobs:
@@ -109,3 +109,173 @@ jobs:
|
|
|
|
|
aws s3 cp version.json $AWS_S3_BUCKET_NAME \ |
|
|
|
|
--acl "public-read" \ |
|
|
|
|
--quiet |
|
|
|
|
|
|
|
|
|
tag-docker-latest: |
|
|
|
|
name: Tag Docker image latest |
|
|
|
|
runs-on: ubuntu-20.04 |
|
|
|
|
needs: |
|
|
|
|
- setup |
|
|
|
|
- release |
|
|
|
|
env: |
|
|
|
|
_RELEASE_VERSION: ${{ github.event.inputs.release_version }} |
|
|
|
|
_BRANCH_NAME: ${{ needs.setup.outputs.branch-name }} |
|
|
|
|
strategy: |
|
|
|
|
fail-fast: false |
|
|
|
|
matrix: |
|
|
|
|
include: |
|
|
|
|
- service_name: Admin |
|
|
|
|
- service_name: Api |
|
|
|
|
- service_name: Attachments |
|
|
|
|
- service_name: Events |
|
|
|
|
- service_name: Icons |
|
|
|
|
- service_name: Identity |
|
|
|
|
- service_name: K8S-Proxy |
|
|
|
|
- service_name: MsSql |
|
|
|
|
- service_name: Nginx |
|
|
|
|
- service_name: Notifications |
|
|
|
|
- service_name: Server |
|
|
|
|
- service_name: Setup |
|
|
|
|
- service_name: Sso |
|
|
|
|
- service_name: Web |
|
|
|
|
steps: |
|
|
|
|
- name: Print environment |
|
|
|
|
run: | |
|
|
|
|
whoami |
|
|
|
|
docker --version |
|
|
|
|
echo "GitHub ref: $GITHUB_REF" |
|
|
|
|
echo "GitHub event: $GITHUB_EVENT" |
|
|
|
|
|
|
|
|
|
- name: Checkout repo |
|
|
|
|
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f |
|
|
|
|
with: |
|
|
|
|
ref: ${{ needs.setup.outputs.branch-name }} |
|
|
|
|
|
|
|
|
|
- name: Setup service name |
|
|
|
|
id: setup |
|
|
|
|
run: | |
|
|
|
|
SERVICE_NAME=$(echo "${{ matrix.service_name }}" | awk '{print tolower($0)}') |
|
|
|
|
echo "Matrix name: ${{ matrix.service_name }}" |
|
|
|
|
echo "SERVICE_NAME: $SERVICE_NAME" |
|
|
|
|
echo "::set-output name=service_name::$SERVICE_NAME" |
|
|
|
|
|
|
|
|
|
########## DockerHub ########## |
|
|
|
|
- name: Setup DCT |
|
|
|
|
id: setup-dct |
|
|
|
|
uses: bitwarden/gh-actions/setup-docker-trust@a8c384a05a974c05c48374c818b004be221d43ff |
|
|
|
|
with: |
|
|
|
|
azure-creds: ${{ secrets.AZURE_PROD_KV_CREDENTIALS }} |
|
|
|
|
azure-keyvault-name: "bitwarden-prod-kv" |
|
|
|
|
|
|
|
|
|
- name: Pull versioned image |
|
|
|
|
env: |
|
|
|
|
SERVICE_NAME: ${{ steps.setup.outputs.service_name }} |
|
|
|
|
run: | |
|
|
|
|
docker pull bitwarden/$SERVICE_NAME:$_RELEASE_VERSION |
|
|
|
|
|
|
|
|
|
- name: Tag latest |
|
|
|
|
env: |
|
|
|
|
SERVICE_NAME: ${{ steps.setup.outputs.service_name }} |
|
|
|
|
run: | |
|
|
|
|
docker tag bitwarden/$SERVICE_NAME:$_RELEASE_VERSION bitwarden/$SERVICE_NAME:latest |
|
|
|
|
|
|
|
|
|
- name: Push latest image |
|
|
|
|
env: |
|
|
|
|
DOCKER_CONTENT_TRUST: 1 |
|
|
|
|
DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE: ${{ steps.setup-dct.outputs.dct-delegate-repo-passphrase }} |
|
|
|
|
SERVICE_NAME: ${{ steps.setup.outputs.service_name }} |
|
|
|
|
run: | |
|
|
|
|
docker push bitwarden/$SERVICE_NAME:latest |
|
|
|
|
|
|
|
|
|
- name: Log out of Docker and disable Docker Notary |
|
|
|
|
run: | |
|
|
|
|
docker logout |
|
|
|
|
echo "DOCKER_CONTENT_TRUST=0" >> $GITHUB_ENV |
|
|
|
|
|
|
|
|
|
########## ACR ########## |
|
|
|
|
- name: Login to Azure - QA Subscription |
|
|
|
|
uses: Azure/login@77f1b2e3fb80c0e8645114159d17008b8a2e475a |
|
|
|
|
with: |
|
|
|
|
creds: ${{ secrets.AZURE_QA_KV_CREDENTIALS }} |
|
|
|
|
|
|
|
|
|
- name: Login to Azure ACR |
|
|
|
|
run: az acr login -n bitwardenqa |
|
|
|
|
|
|
|
|
|
- name: Tag latest |
|
|
|
|
env: |
|
|
|
|
SERVICE_NAME: ${{ steps.setup.outputs.service_name }} |
|
|
|
|
REGISTRY: bitwardenqa.azurecr.io |
|
|
|
|
run: | |
|
|
|
|
docker tag bitwarden/$SERVICE_NAME:$_RELEASE_VERSION $REGISTRY/$SERVICE_NAME:latest |
|
|
|
|
|
|
|
|
|
- name: Push version and latest image |
|
|
|
|
env: |
|
|
|
|
SERVICE_NAME: ${{ steps.setup.outputs.service_name }} |
|
|
|
|
REGISTRY: bitwardenqa.azurecr.io |
|
|
|
|
run: | |
|
|
|
|
docker push $REGISTRY/$SERVICE_NAME:latest |
|
|
|
|
|
|
|
|
|
- name: Log out of Docker |
|
|
|
|
run: docker logout |
|
|
|
|
|
|
|
|
|
tag-docker-web-sh-latest: |
|
|
|
|
name: Tag Docker image latest |
|
|
|
|
runs-on: ubuntu-20.04 |
|
|
|
|
needs: |
|
|
|
|
- setup |
|
|
|
|
- release |
|
|
|
|
env: |
|
|
|
|
_RELEASE_VERSION: ${{ github.event.inputs.release_version }} |
|
|
|
|
_BRANCH_NAME: ${{ needs.setup.outputs.branch-name }} |
|
|
|
|
SERVICE_NAME: web-sh |
|
|
|
|
steps: |
|
|
|
|
- name: Print environment |
|
|
|
|
run: | |
|
|
|
|
whoami |
|
|
|
|
docker --version |
|
|
|
|
echo "GitHub ref: $GITHUB_REF" |
|
|
|
|
echo "GitHub event: $GITHUB_EVENT" |
|
|
|
|
|
|
|
|
|
- name: Checkout repo |
|
|
|
|
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f |
|
|
|
|
with: |
|
|
|
|
ref: ${{ needs.setup.outputs.branch-name }} |
|
|
|
|
|
|
|
|
|
- name: Setup service name |
|
|
|
|
id: setup |
|
|
|
|
run: | |
|
|
|
|
SERVICE_NAME=$(echo "${{ matrix.service_name }}" | awk '{print tolower($0)}') |
|
|
|
|
echo "Matrix name: ${{ matrix.service_name }}" |
|
|
|
|
echo "SERVICE_NAME: $SERVICE_NAME" |
|
|
|
|
|
|
|
|
|
########## ACR ########## |
|
|
|
|
- name: Login to Azure - QA Subscription |
|
|
|
|
uses: Azure/login@77f1b2e3fb80c0e8645114159d17008b8a2e475a |
|
|
|
|
with: |
|
|
|
|
creds: ${{ secrets.AZURE_QA_KV_CREDENTIALS }} |
|
|
|
|
|
|
|
|
|
- name: Login to Azure ACR |
|
|
|
|
run: az acr login -n bitwardenqa |
|
|
|
|
|
|
|
|
|
- name: Pull versioned image |
|
|
|
|
env: |
|
|
|
|
SERVICE_NAME: ${{ steps.setup.outputs.service_name }} |
|
|
|
|
REGISTRY: bitwardenqa.azurecr.io |
|
|
|
|
run: | |
|
|
|
|
docker pull $REGISTRY/$SERVICE_NAME:$_RELEASE_VERSION |
|
|
|
|
|
|
|
|
|
- name: Tag latest |
|
|
|
|
env: |
|
|
|
|
SERVICE_NAME: ${{ steps.setup.outputs.service_name }} |
|
|
|
|
REGISTRY: bitwardenqa.azurecr.io |
|
|
|
|
run: | |
|
|
|
|
docker tag $REGISTRY/$SERVICE_NAME:$_RELEASE_VERSION $REGISTRY/$SERVICE_NAME:latest |
|
|
|
|
|
|
|
|
|
- name: Push version and latest image |
|
|
|
|
env: |
|
|
|
|
SERVICE_NAME: ${{ steps.setup.outputs.service_name }} |
|
|
|
|
REGISTRY: bitwardenqa.azurecr.io |
|
|
|
|
run: | |
|
|
|
|
docker push $REGISTRY/$SERVICE_NAME:latest |
|
|
|
|
|
|
|
|
|
- name: Log out of Docker |
|
|
|
|
run: docker logout |
|
|
|
|
|