Skip to content

Bump to 2.5.6

Bump to 2.5.6 #188

Workflow file for this run

name: Push (compose tests)
on:
push: {}
pull_request:
branches: [ master ]
workflow_dispatch: {}
jobs:
tests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: npm install
run: npm install
- name: compose build of conlink
run: docker compose -f examples/test1-compose.yaml build
- name: "dctest test/test*.yaml"
timeout-minutes: 5
run: time node_modules/.bin/dctest --verbose-commands conlink-test $(ls -v test/test*.yaml)
- name: "show logs"
if: always()
run: |
docker compose -p conlink-test logs --no-color -t || true
- name: Check --show-config and net2dot
run: |
cfg=$(./conlink --show-config --compose-file examples/test1-compose.yaml)
summary=$(echo "${cfg}" | jq -r '.|"\(.bridges|keys|sort|join(".")) \(.services|keys|sort|join("."))"')
[ "${summary}" = "s1.s2.s3 h1.h2.h3.r0" ]
dot=$(echo "${cfg}" | ./net2dot)
[ $(echo "${dot}" | grep "r0.*eth" | wc -l) -ge 10 ]
# Decide if a release is necessary, do any release linting/checks
check-release:
needs: [ tests ]
name: Check Release
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '.')
outputs:
RELEASE_VERSION: ${{ steps.get-version.outputs.RELEASE_VERSION }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with: { submodules: 'recursive', fetch-depth: 0 }
- id: get-version
name: Get release version
run: |
echo "RELEASE_VERSION=$(jq -r .version package.json)" | tee "$GITHUB_ENV" | tee "$GITHUB_OUTPUT"
- name: Check git tag matches release version
run: |
[ "refs/tags/v${RELEASE_VERSION}" == "${{ github.ref }}" ]
release-npm:
needs: [ check-release ]
name: Release NPM
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with: { submodules: 'recursive', fetch-depth: 0 }
# Setup .npmrc file to publish to npm
- uses: actions/setup-node@v4
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
scope: ''
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
release-docker-hub:
needs: [ check-release ]
name: Release Docker Hub
runs-on: ubuntu-latest
env:
RELEASE_VERSION: ${{ needs.check-release.outputs.RELEASE_VERSION }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with: { submodules: 'recursive', fetch-depth: 0 }
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
tags: lonocloud/conlink:${{ env.RELEASE_VERSION }}
- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
tags: lonocloud/conlink:latest