name: Docker on: push: branches: - master tags: - 'v*.*.*' paths-ignore: - '**/*.md' - '.gitignore' - '.github/**' - '!.github/workflows/docker.yml' - '!.github/workflows/docker-reusable.yml' - 'docker/**' - '!docker/codex.Dockerfile' - '!docker/docker-entrypoint.sh' workflow_dispatch: jobs: get-contracts-hash: runs-on: ubuntu-latest outputs: hash: ${{ steps.get-hash.outputs.hash }} steps: - uses: actions/checkout@v4 with: submodules: true - name: Get submodule short hash id: get-hash run: | hash=$(git rev-parse --short HEAD:vendor/logos-storage-contracts-eth) echo "hash=$hash" >> $GITHUB_OUTPUT build-and-push: name: Build and Push uses: ./.github/workflows/docker-reusable.yml needs: get-contracts-hash with: tag_latest: ${{ github.ref_name == github.event.repository.default_branch || startsWith(github.ref, 'refs/tags/') }} tag_stable: ${{ startsWith(github.ref, 'refs/tags/') }} contract_image: "codexstorage/codex-contracts-eth:sha-${{ needs.get-contracts-hash.outputs.hash }}" secrets: inherit