diff --git a/.github/workflows/build-semver.yml b/.github/workflows/build-semver.yml index d6c79028..3d881c41 100644 --- a/.github/workflows/build-semver.yml +++ b/.github/workflows/build-semver.yml @@ -8,19 +8,54 @@ on: jobs: build: - runs-on: self-hosted + + strategy: + matrix: + platforms: [amd64,arm64] + + runs-on: + - self-hosted + - ${{matrix.platforms}} + steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Login to DockerHub - if: success() + if: success() uses: docker/login-action@v1 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Build & Push to Docker Hub - run: |- - make build-semver - make publish-semver + run: | + docker build -t trueagi/das:semantic-versioning-${{matrix.platforms}} ./scripts/semver + + - name: Push Docker Image + run: | + docker push trueagi/das:semantic-versioning-${{matrix.platforms}} + + + publish-manifest: + needs: build + runs-on: + - self-hosted + - amd64 + steps: + + - name: Login to DockerHub + if: success() + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Create docker manifest + run: | + docker manifest create trueagi/das:semantic-versioning \ + --amend trueagi/das:semantic-versioning-arm64 \ + --amend trueagi/das:semantic-versioning-amd64 + + - name: Publish manifest + run: docker manifest push trueagi/das:semantic-versioning diff --git a/.github/workflows/run-semver.yml b/.github/workflows/run-semver.yml index e599f46c..e7e1a382 100644 --- a/.github/workflows/run-semver.yml +++ b/.github/workflows/run-semver.yml @@ -51,6 +51,7 @@ on: required: true jobs: + setup: runs-on: self-hosted outputs: @@ -61,9 +62,18 @@ jobs: - id: setup-release-note name: Setup release notes - run: |- - releaseNote=$([ -e "${{ inputs.changelog }}" ] && awk -v ORS='\\n' '1' "${{ inputs.changelog }}" || echo "") - echo "::set-output name=releaseNote::${releaseNote}" + run: | + if [ -e "${{ inputs.changelog }}" ]; then + releaseNote="$(cat "${{ inputs.changelog }}")" + else + releaseNote="" + fi + + { + echo "releaseNote<> "$GITHUB_OUTPUT" tag: runs-on: self-hosted @@ -108,11 +118,16 @@ jobs: run: | title="${{ inputs.title }}" deliverable="${{ inputs.deliverable }}" - version="${{ needs.tag.outputs.version }}" - repository="${{ needs.tag.outputs.repository }}" - releaseNote="${{ needs.tag.outputs.release-note }}" + version=${{ needs.tag.outputs.version }} + repository=${{ needs.tag.outputs.repository }} + + read -r rawReleaseNote << 'EOF_RN' + ${{ needs.tag.outputs.release-note }} + EOF_RN + + releaseNote=$(printf %b "$rawReleaseNote") - message="${title}\n\nDeliverable:${deliverable}\nNew version available: $version\nRepository: https://github.com/$repository/releases/tag/$version" + message="${title}\n\nDeliverable: ${deliverable}\nNew version available: ${version}\nRepository: https://github.com/${repository}/releases/tag/${version}" if [ -n "$releaseNote" ]; then message="$message\nChanges:\n$releaseNote" diff --git a/CHANGELOG b/CHANGELOG index 4d3e04ad..e69de29b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,27 +0,0 @@ -Changes: - -[das#843] Add support to MorkDB in Query Agent main -[das#824] Integration of LCA in Hyperon Experimental -[das#825] Create separate commands for LCA and Evolution in Hyperon Experimental -[das#859] Strength formulae for Equivalence/Implication links are generating > 1.0 values -[das#795] Update Python Client for new bus element -[das#796] Database Adapter must communicate with AtomDB over the bus using AtomDBProxy -[das#822] Add support to MorkDB in das-cli -[das#823] Implement a command to set a single parameter -[das#819] Add a flag to tell agents' binaries to use MorkDB -[das#828] Implement a Jupyter notebook to show how to setup DAS environment -[das#829] Implement a Jupyter notebook to explain how Query Evolution works -[das#832] Write a conceptual document explaining how DAS components work -[das#830] Implement a Jupyter notebook to show how to use LCA -[das#835] Update main repo README -[das#864] Notebook explaining LCA usage -[das#860] Fix strength formulae for equivalence/implication links -[das#858] DAS conceptual documentation -[das#872] Set LCA queries to Camel Case -[das#844] Added a cmd line parameter to use MorkDB in Query Agent -[das#845] HE Client v0.4.0 -[das#850] Add missing atoms when using MeTTa template -[das#852] Add `MorkDB::query_for_targets()` -[das#856] Use default das-cli config values on tests. -[das#867] Setup QEMU for cross-platform Docker image builds in CI -[das#871] Use push_back in `PortPool::return_port()`