diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..accd96f --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,25 @@ +name: Release +on: + push: + branches: + - master +jobs: + release: + name: Release + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v1 + - name: Setup Node.js + uses: actions/setup-node@v1 + with: + node-version: 14 + - name: Install semantic-release + run: npm install -g semantic-release @semantic-release/git @semantic-release/changelog @semantic-release/exec semantic-release-docker + + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + run: semantic-release diff --git a/.releaserc.yml b/.releaserc.yml new file mode 100644 index 0000000..6c3b931 --- /dev/null +++ b/.releaserc.yml @@ -0,0 +1,13 @@ +repositoryUrl": "https://github.com/apricote/Listory" +plugins: + - "@semantic-release/commit-analyzer" + - "@semantic-release/release-notes-generator" + - "@semantic-release/changelog" + - - "@semantic-release/npm" + - npmPublish: false + - - "@semantic-relase/exec" + - prepareCmd: "docker build -t apricote/listory --build-arg VERSION=${nextRelease.version} --build-arg GIT_COMMIT=`git rev-parse HEAD` ." + - - semantic-release-docker + - name: apricote/listory + - "@semantic-release/git" + - "@semantic-release/github" diff --git a/Dockerfile b/Dockerfile index 67891dd..007c76d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,14 @@ +ARG VERSION=unknown +ARG GIT_COMMIT=unknown + ################## ## common ################## FROM node:14-alpine as common -LABEL org.label-schema.schema-version="1.0" \ - org.label-schema.name="listory" \ - stage="common" +LABEL org.opencontainers.image.title="listory" \ + org.opencontainers.image.version=$VERSION \ + org.opencontainers.image.revision=$GIT_COMMIT \ + de.apricote.stage="common" WORKDIR /app