diff --git a/.github/workflows/dockgen.yml b/.github/workflows/dockgen.yml new file mode 100644 index 0000000..817d62f --- /dev/null +++ b/.github/workflows/dockgen.yml @@ -0,0 +1,53 @@ +name: "Publish docker image" + +on: + push: + branches: + - devel + tags: + - "v*" + +jobs: + dockgen: + runs-on: "ubuntu-latest" + permissions: + contents: read + packages: write + attestations: write + id-token: write + steps: + - uses: actions/checkout@v5 + + - uses: astral-sh/setup-uv@v7 + - run: uvx dockgen + + # https://docs.github.com/en/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions + + - name: Log in to the Container registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository }} + + - name: Build and push Docker image + id: push + uses: docker/build-push-action@v6 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Generate artifact attestation + uses: actions/attest-build-provenance@v3 + with: + subject-name: ghcr.io/${{ github.repository }} + subject-digest: ${{ steps.push.outputs.digest }} + push-to-registry: true diff --git a/.gitignore b/.gitignore index 4743e7c..6211c66 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ build*/ *~ +Dockerfile diff --git a/CHANGELOG.md b/CHANGELOG.md index 12ad686..d12d22f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +- setup dockgen + ## [1.3.1] - 2025-11-04 - ROS: jrl_cmakemodules dependency diff --git a/dockgen.toml b/dockgen.toml new file mode 100644 index 0000000..39d7577 --- /dev/null +++ b/dockgen.toml @@ -0,0 +1,7 @@ +[jrl-cmakemodules] +url = "github:jrl-umi3218" + +[eiquadprog] +url = "." +apt_deps = ["libboost-all-dev", "libeigen3-dev"] +src_deps = ["jrl-cmakemodules"]