2 Commits
2 changed files with 14 additions and 17 deletions
+13 -16
View File
@@ -1,39 +1,36 @@
# IPCR Forge: builds the forge service's image (forge/Dockerfile) for every v* tag pushed to this repository's Gitea copy, and pushes it # IPCR Forge: builds the forge service's image (forge/Dockerfile) for every v* tag pushed to this repository on Gitea (gitea-yunderalabs.nsl.sh),
# to the forge's staging registry; IPCR imports it from there within a minute and publishes it on # pushed to the IPCR app on the same server; IPCR publishes it on IPFS within seconds, under its name
# IPFS under the forge's name (<forge>/ipcr/ipcr-forge, and ipcr-forge at the root). # (ipcrteam.eth): ipcr-yunderalabs.nsl.sh/ipns/ipcrteam.eth/<owner>/<repo>:<version>.
# #
# GitHub ignores .gitea/ (it runs .github/workflows/image.yml → ghcr.io), and Gitea ignores # runs-on: ubuntu-latest the Gitea app's own runner (Docker-in-Docker)
# .github/ as soon as this folder exists: one repository, one workflow on each side. # ipcr-push-yunderalabs… IPCR's push endpoint; login <owner> with IPCR_PUSH_TOKEN, a namespace
# # token from the IPCR dashboard (Push tokens), set as an Actions secret
# runs-on: ipcr the forge's own runner, the only one that reaches the staging registry # on the organisation
# localhost:5000 that registry, logged in to as this repository (IPCR_PUSH_TOKEN, a
# secret the forge sets on every repository allowed to publish)
# network=host so buildx's builder can reach it too
name: ipcr name: ipcr
on: on:
push: push:
tags: ['v*'] tags: ['v*']
env:
IPCR_PUSH: ipcr-push-yunderalabs.nsl.sh
jobs: jobs:
image: image:
runs-on: ipcr runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: docker/login-action@v3 - uses: docker/login-action@v3
with: with:
registry: localhost:5000 registry: ${{ env.IPCR_PUSH }}
username: ${{ github.repository }} username: ${{ github.repository_owner }}
password: ${{ secrets.IPCR_PUSH_TOKEN }} password: ${{ secrets.IPCR_PUSH_TOKEN }}
- uses: docker/metadata-action@v5 - uses: docker/metadata-action@v5
id: meta id: meta
with: with:
images: localhost:5000/${{ github.repository }} images: ${{ env.IPCR_PUSH }}/${{ github.repository }}
tags: | tags: |
type=semver,pattern={{version}} type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}}.{{minor}}
type=raw,value=latest type=raw,value=latest
- uses: docker/setup-buildx-action@v3 - uses: docker/setup-buildx-action@v3
with:
driver-opts: network=host
- uses: docker/build-push-action@v6 - uses: docker/build-push-action@v6
with: with:
context: forge context: forge
+1 -1
View File
@@ -68,7 +68,7 @@ own runner (labels `ipcr` and `ubuntu-latest`/`-24.04`/`-22.04`). It cannot sit
Gitea, Radicle or IPCR apps (same container names, domains, ports). Gitea, Radicle or IPCR apps (same container names, domains, ports).
A split listing (`Apps/IPCR-Forge`, the forge on top of the store's Gitea app and, optionally, its A split listing (`Apps/IPCR-Forge`, the forge on top of the store's Gitea app and, optionally, its
Radicle app) existed until IPCR 1.7.0. It was retired: beside a stock Gitea, what is wanted is a Radicle app) existed until IPCR 1.7.1. It was retired: beside a stock Gitea, what is wanted is a
registry, not a forge, and the IPCR app is now that registry, with its own push tokens, dashboard and registry, not a forge, and the IPCR app is now that registry, with its own push tokens, dashboard and
public pulls, and no Gitea or Radicle knowledge public pulls, and no Gitea or Radicle knowledge
([push.md](https://github.com/Yundera/ipcr/blob/main/docs/push.md)). What it cost, for the record: the ([push.md](https://github.com/Yundera/ipcr/blob/main/docs/push.md)). What it cost, for the record: the