Skip to content

v1.3.7-pre.0

v1.3.7-pre.0 #32

Workflow file for this run

name: Release
on:
release:
types: [published]
jobs:
tags:
runs-on: ubuntu-latest
outputs:
version_tag: ${{ steps.meta.outputs.version }}
latest_tag: ${{ steps.meta.outputs.latest_tag }}
steps:
- name: Determine tags
id: meta
run: |
echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
if [[ "${{ github.event.release.prerelease }}" == "true" ]]; then
echo "latest_tag=pre-latest" >> "$GITHUB_OUTPUT"
else
echo "latest_tag=latest" >> "$GITHUB_OUTPUT"
fi
build-amd64:
runs-on: ubuntu-latest
needs: tags
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push (amd64)
uses: docker/build-push-action@v6
with:
context: ./web
platforms: linux/amd64
push: true
tags: |
fffattiger/lore:${{ needs.tags.outputs.latest_tag }}-amd64
fffattiger/lore:${{ needs.tags.outputs.version_tag }}-amd64
cache-from: type=gha,scope=web-amd64
cache-to: type=gha,scope=web-amd64,mode=min
build-arm64:
runs-on: ubuntu-latest
needs: tags
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push (arm64)
uses: docker/build-push-action@v6
with:
context: ./web
platforms: linux/arm64
push: true
tags: |
fffattiger/lore:${{ needs.tags.outputs.latest_tag }}-arm64
fffattiger/lore:${{ needs.tags.outputs.version_tag }}-arm64
cache-from: type=gha,scope=web-arm64
cache-to: type=gha,scope=web-arm64,mode=min
merge-manifest:
runs-on: ubuntu-latest
needs: [tags, build-amd64, build-arm64]
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Publish multi-arch manifest
run: |
docker buildx imagetools create \
-t fffattiger/lore:${{ needs.tags.outputs.latest_tag }} \
fffattiger/lore:${{ needs.tags.outputs.latest_tag }}-amd64 \
fffattiger/lore:${{ needs.tags.outputs.latest_tag }}-arm64
docker buildx imagetools create \
-t fffattiger/lore:${{ needs.tags.outputs.version_tag }} \
fffattiger/lore:${{ needs.tags.outputs.version_tag }}-amd64 \
fffattiger/lore:${{ needs.tags.outputs.version_tag }}-arm64
docker buildx imagetools inspect fffattiger/lore:${{ needs.tags.outputs.latest_tag }}
artifacts:
runs-on: ubuntu-latest
needs: tags
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Build Claude Code artifact
run: |
mkdir -p dist
cd claudecode-plugin
zip -r ../dist/lore-claudecode.zip \
.claude-plugin .mcp.json hooks rules
- name: Build Codex artifact
run: |
mkdir -p dist/codex-marketplace/plugins/lore
cp -a codex-plugin/.agents dist/codex-marketplace/
cp -a codex-plugin/.codex-plugin dist/codex-marketplace/plugins/lore/
cp -a codex-plugin/.mcp.json dist/codex-marketplace/plugins/lore/
for d in README.md skills hooks rules scripts assets; do
if [ -e "codex-plugin/$d" ]; then
cp -a "codex-plugin/$d" "dist/codex-marketplace/plugins/lore/$d"
fi
done
cd dist/codex-marketplace
zip -r ../lore-codex.zip .
- name: Build OpenClaw artifact
run: |
cd openclaw-plugin
zip -r ../dist/lore-openclaw.zip . -x 'node_modules/*'
- name: Build Pi artifact
run: |
cd pi-extension
zip -r ../dist/lore-pi.zip . -x 'node_modules/*' '__pycache__/*'
- name: Build Hermes artifact
run: |
cd hermes-plugin
zip -r ../dist/lore-hermes.zip lore_memory
- name: Upload artifacts to release
env:
GH_REPO: ${{ github.repository }}
GH_TOKEN: ${{ github.token }}
run: |
TAG="${{ needs.tags.outputs.version_tag }}"
for f in dist/lore-*.zip; do
gh release upload "v${TAG}" "$f" --clobber
done