diff --git a/.gitea/workflows/docker.yml b/.gitea/workflows/docker.yml index 73425c6..85ea271 100644 --- a/.gitea/workflows/docker.yml +++ b/.gitea/workflows/docker.yml @@ -18,10 +18,21 @@ jobs: - name: Login to Gitea Registry run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.DOMAIN }} -u ${{ secrets.REGISTRY_USER }} --password-stdin + - name: Extract Version + working-directory: ./server/cinema + run: | + VERSION=$(grep 'version:' pubspec.yaml | sed 's/version: //') + echo "VERSION=$VERSION" >> $GITHUB_ENV + echo "MAJOR=$(echo $VERSION | cut -d. -f1)" >> $GITHUB_ENV + echo "MAJOR_MINOR=$(echo $VERSION | cut -d. -f1,2)" >> $GITHUB_ENV + - name: Build and Push Multi-Arch Image working-directory: ./server/cinema run: | docker buildx build \ --platform linux/amd64,linux/arm64 \ -t ${{ secrets.DOMAIN }}/${{ secrets.OWNER }}/${{ secrets.REPO }}/server:latest \ + -t ${{ secrets.DOMAIN }}/${{ secrets.OWNER }}/${{ secrets.REPO }}/server:${{ env.MAJOR }} \ + -t ${{ secrets.DOMAIN }}/${{ secrets.OWNER }}/${{ secrets.REPO }}/server:${{ env.MAJOR_MINOR }} \ + -t ${{ secrets.DOMAIN }}/${{ secrets.OWNER }}/${{ secrets.REPO }}/server:${{ env.VERSION }} \ --push . diff --git a/server/cinema/Dockerfile b/server/cinema/Dockerfile index e67d250..97fda37 100644 --- a/server/cinema/Dockerfile +++ b/server/cinema/Dockerfile @@ -8,7 +8,8 @@ RUN dart pub get # Copy app source code (except anything in .dockerignore) and AOT compile app. COPY . . -RUN APP_VERSION=$(awk '/^version:/{print $2}' pubspec.yaml) && \ +RUN dart run build_runner build --delete-conflicting-outputs && \ + APP_VERSION=$(grep 'version:' pubspec.yaml | sed 's/version: //') && \ dart compile exe bin/server.dart -o bin/server \ -DAPP_VERSION=$APP_VERSION