Skip to content

Test docker push

Test docker push #45

Workflow file for this run

name: Build and Push rosetta
on:
push:
branches:
- ekw/SRE-999/release-rosetta
tags:
- "*.*.*"
env:
RUST_IMAGE_TAG: '1.73'
IAM_ROLE: "arn:aws:iam::192549843005:role/github_concordium-rosetta"
BASE_IMAGE: "debian:bullseye-slim"
permissions:
id-token: write
contents: read
jobs:
rosetta-version:
runs-on: ubuntu-latest
outputs:
OUTFILE_SHORT: ${{steps.version.outputs.outfile}}
OUTFOLDER: "s3://distribution.concordium.software/tools"
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
ref: ${{ github.ref_name }}
submodules: recursive
- name: Get the rosetta version
id: version
run: |
CARGO_VERSION=$(yq .package.version "Cargo.toml")
if [ ! "${{ github.ref_name }}" = "$CARGO_VERSION" ] ; then
echo "::error::$CARGO_VERSION does not match ${{ github.ref_name }}."
exit 1
fi
echo "outfile=concordium-rosetta-test-$CARGO_VERSION" >> $GITHUB_OUTPUT
# release-rosetta-macos:
# needs: rosetta-version
# runs-on: macos-latest
# environment: release
# env:
# OUTFILE: ${{needs.rosetta-version.outputs.OUTFOLDER}}/macos/${{needs.rosetta-version.outputs.OUTFILE_SHORT}}
# steps:
# - name: Checkout Repository
# uses: actions/checkout@v4
# with:
# ref: ${{ github.ref_name }}
# submodules: recursive
#
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v4
# with:
# aws-region: "eu-west-1"
# role-to-assume: ${{ env.IAM_ROLE }}
# role-session-name: ReleaseRosettaSession
#
#
# - name: Check if version exist in s3
# run: |
# set +e
# output=$(aws s3 ls "${{ env.OUTFILE }}")
# ec=$?
# if [ $ec -eq "0" ]; then
# echo "Objects found ${{ env.OUTFILE }}"
# exit 1
# elif [ $ec -ne "1" ]; then
# echo "$output"
# fi
#
# - name: Build
# run: |
# rustup default ${{ env.RUST_IMAGE_TAG }}
# cargo run --release -- --version
#
# - name: Publish
# run: |
# ls ./target/release/concordium-rosetta
# aws s3 cp ./target/release/concordium-rosetta ${{ env.OUTFILE }}
#
# release-rosetta-windows:
# runs-on: windows-latest
# needs: rosetta-version
# environment: release
# env:
# OUTFILE: "${{needs.rosetta-version.outputs.OUTFOLDER}}/windows/${{needs.rosetta-version.outputs.OUTFILE_SHORT}}.exe"
# steps:
# - name: Checkout Repository
# uses: actions/checkout@v4
# with:
# ref: ${{ github.ref_name }}
# submodules: recursive
#
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v4
# with:
# aws-region: "eu-west-1"
# role-to-assume: ${{ env.IAM_ROLE }}
# role-session-name: ReleaseRosettaSession
#
#
# - name: Check if version exist in s3
# run: |-
# set +e
# output=$(aws s3 ls "${{ env.OUTFILE }}")
# ec=$?
# if [ $ec -eq "0" ]; then
# echo "Objects found ${{ env.OUTFILE }}"
# exit 1
# elif [ $ec -ne "1" ]; then
# echo "$output"
# fi
# shell: bash
#
# - name: Build
# run: |
# rustup default ${{ env.RUST_IMAGE_TAG }}
# cargo run --release -- --version
#
# - name: Publish
# run: |
# ls ./target/release/concordium-rosetta.exe
# aws s3 cp ./target/release/concordium-rosetta.exe ${{ env.OUTFILE }}
release-rosetta-docker:
runs-on: ubuntu-latest
environment: release
steps:
- name: Login to Docker Hub
if: ${{ secrets.DOCKERHUB_TOKEN }}

Check failure on line 135 in .github/workflows/release.yaml

View workflow run for this annotation

GitHub Actions / Build and Push rosetta

Invalid workflow file

The workflow is not valid. .github/workflows/release.yaml (Line: 135, Col: 13): Unrecognized named-value: 'secrets'. Located at position 1 within expression: secrets.DOCKERHUB_TOKEN

Check failure on line 135 in .github/workflows/release.yaml

View workflow run for this annotation

GitHub Actions / Build and Push rosetta

Invalid workflow file

The workflow is not valid. .github/workflows/release.yaml (Line: 135, Col: 13): Unrecognized named-value: 'secrets'. Located at position 1 within expression: secrets.DOCKERHUB_TOKEN

Check failure on line 135 in .github/workflows/release.yaml

View workflow run for this annotation

GitHub Actions / Build and Push rosetta

Invalid workflow file

The workflow is not valid. .github/workflows/release.yaml (Line: 135, Col: 13): Unrecognized named-value: 'secrets'. Located at position 1 within expression: secrets.DOCKERHUB_TOKEN

Check failure on line 135 in .github/workflows/release.yaml

View workflow run for this annotation

GitHub Actions / Build and Push rosetta

Invalid workflow file

The workflow is not valid. .github/workflows/release.yaml (Line: 135, Col: 13): Unrecognized named-value: 'secrets'. Located at position 1 within expression: secrets.DOCKERHUB_TOKEN
uses: docker/login-action@v3
with:
username: 'concordium'
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Checkout Repository
uses: actions/checkout@v4
with:
ref: ${{ github.ref_name }}
submodules: recursive
- name: Set image tag if correctly formatted
run: |
TAG_VERSION="1.2.0"#${{ github.ref_name }}
if [ -n "Cargo.toml" ] ; then
CARGO_VERSION=$(yq .package.version "Cargo.toml")
if [ ! "$TAG_VERSION" = "$CARGO_VERSION" ] ; then
echo "::error::$CARGO_VERSION does not match $TAG_VERSION."
exit 1
fi
fi
echo "FULL_IMAGE_TAG=concordium/rosetta:${TAG_VERSION}" >> $GITHUB_ENV
- name: Check if image exist
run: |
set +e
docker manifest inspect ${{ env.FULL_IMAGE_TAG }}
EXITCODE=$?
if [ $EXITCODE -eq "0" ]; then
echo "Error: ${{ env.FULL_IMAGE_TAG }} already exist"
exit 1
fi
- name: Build and push docker image
uses: docker/build-push-action@v6
with:
context: '.'
file: Dockerfile
tags: ${{ env.FULL_IMAGE_TAG }}-dev
no-cache: true
push: true
build-args: |
base_image=${{ env.BASE_IMAGE }}
build_image=rust:${{ env.RUST_IMAGE_TAG }}-slim-bullseye
# release-rosetta-linux:
# runs-on: ubuntu-latest
# needs: rosetta-version
# environment: release
# env:
# OUTFILE: ${{needs.rosetta-version.outputs.OUTFOLDER}}/linux/${{needs.rosetta-version.outputs.OUTFILE_SHORT}}
# steps:
# - name: Checkout Repository
# uses: actions/checkout@v4
# with:
# ref: ${{ github.ref_name }}
# submodules: recursive
#
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v4
# with:
# aws-region: "eu-west-1"
# role-to-assume: ${{ env.IAM_ROLE }}
# role-session-name: ReleaseRosettaSession
#
#
# - name: Check if version exist in s3
# run: |-
# set +e
# output=$(aws s3 ls "${{ env.OUTFILE }}")
# ec=$?
# if [ $ec -eq "0" ]; then
# echo "Objects found ${{ env.OUTFILE }}"
# exit 1
# elif [ $ec -ne "1" ]; then
# echo "$output"
# fi
#
# - name: Build
# run: |
# rustup default ${{ env.RUST_IMAGE_TAG }}
# cargo run --release -- --version
#
# - name: Publish
# run: |
# ls ./target/release/concordium-rosetta
# aws s3 cp ./target/release/concordium-rosetta ${{ env.OUTFILE }}