diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4b155535a..2892f7f24 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,6 +11,9 @@ default: variables: NIX_PATH: "nixpkgs=http://nixos.org/channels/nixos-21.05/nixexprs.tar.xz" AWS_SHARED_CREDENTIALS_FILE: "/etc/aws/credentials" + FLAKE: "git+${CI_REPOSITORY_URL}?ref=${CI_COMMIT_REF_NAME}&rev=${CI_COMMIT_SHA}" + + TRANSFER_METER_FREQUENCY: "2s" stages: - frontend:build @@ -23,7 +26,7 @@ stages: node dependencies: stage: frontend:build script: - - nix -L build -o result .#uniworxNodeDependencies + - nix -L build -o result "${FLAKE}#uniworxNodeDependencies" - nix-store --export $(nix-store -qR result) | xz -T0 -2 > node-dependencies.nar.xz before_script: &nix-before - mkdir -p /etc/nix @@ -54,7 +57,7 @@ well known: stage: frontend:build script: - xzcat node-dependencies.nar.xz | nix-store --import - - nix -L build -o result .#uniworxWellKnown + - nix -L build -o result "${FLAKE}#uniworxWellKnown" - nix-store --export $(nix-store -qR result) | xz -T0 -2 > well-known.nar.xz before_script: *nix-before needs: @@ -73,7 +76,7 @@ frontend: script: - xzcat node-dependencies.nar.xz | nix-store --import - xzcat well-known.nar.xz | nix-store --import - - nix -L build -o result .#uniworxFrontend + - nix -L build -o result "${FLAKE}#uniworxFrontend" - nix-store --export $(nix-store -qR result) | xz -T0 -2 > frontend.nar.xz before_script: *nix-before needs: @@ -93,7 +96,7 @@ uniworx:lib:uniworx: stage: backend:build script: - xzcat frontend.nar.xz | nix-store --import - - nix -L build -o result .#uniworx:lib:uniworx + - nix -L build -o result "${FLAKE}#uniworx:lib:uniworx" - nix-store --export $(nix-store -qR result) | xz -T0 -2 > uniworx:lib:uniworx.nar.xz before_script: *nix-before needs: @@ -115,7 +118,7 @@ uniworx:exe:uniworx: stage: backend:build script: - xzcat uniworx:lib:uniworx.nar.xz | nix-store --import - - nix -L build -o result .#uniworx:exe:uniworx + - nix -L build -o result "${FLAKE}#uniworx:exe:uniworx" - nix-store --export $(nix-store -qR result) | xz -T0 -2 > uniworx:exe:uniworx.nar.xz before_script: *nix-before needs: @@ -139,7 +142,7 @@ uniworx:exe:uniworx-wflint: stage: backend:build script: - xzcat uniworx:lib:uniworx.nar.xz | nix-store --import - - nix -L build -o result .#uniworx:exe:uniworx-wflint + - nix -L build -o result "${FLAKE}#uniworx:exe:uniworx-wflint" - nix-store --export $(nix-store -qR result) | xz -T0 -2 > uniworx:exe:uniworx-wflint.nar.xz before_script: *nix-before needs: @@ -163,7 +166,7 @@ uniworx:exe:uniworxdb: stage: backend:build script: - xzcat uniworx:lib:uniworx.nar.xz | nix-store --import - - nix -L build -o result .#uniworx:exe:uniworxdb + - nix -L build -o result "${FLAKE}#uniworx:exe:uniworxdb" - nix-store --export $(nix-store -qR result) | xz -T0 -2 > uniworx:exe:uniworxdb.nar.xz before_script: *nix-before needs: @@ -187,7 +190,7 @@ uniworx:exe:uniworxload: stage: backend:build script: - xzcat uniworx:lib:uniworx.nar.xz | nix-store --import - - nix -L build -o result .#uniworx:exe:uniworxload + - nix -L build -o result "${FLAKE}#uniworx:exe:uniworxload" - nix-store --export $(nix-store -qR result) | xz -T0 -2 > uniworx:exe:uniworxload.nar.xz before_script: *nix-before needs: @@ -231,7 +234,7 @@ demo docker: script: - xzcat uniworx:exe:uniworx.nar.xz | nix-store --import - xzcat uniworx:exe:uniworxdb.nar.xz | nix-store --import - - nix -L build -o result .#uniworxDemoDocker + - nix -L build -o result "${FLAKE}#uniworxDemoDocker" - cp -pr --reflink=auto -L result uniworx-demo.tar.gz before_script: *nix-before needs: @@ -265,7 +268,7 @@ docker: stage: docker script: - xzcat uniworx:exe:uniworx.nar.xz | nix-store --import - - nix -L build -o result .#uniworxDocker + - nix -L build -o result "${FLAKE}#uniworxDocker" - cp -pr --reflink=auto -L result uniworx.tar.gz before_script: *nix-before needs: @@ -304,9 +307,12 @@ parse changelog: before_script: *nix-before script: - xzcat node-dependencies.nar.xz | nix-store --import - - nix -L run .#jqChangelogJson -- -r '.versions[0].version' > .current-version - - nix -L run .#jqChangelogJson -- -r '.versions[0].body' > .current-changelog.md + - nix -L run "${FLAKE}#jqChangelogJson" -- -r '.versions[0].version' > .current-version + - nix -L run "${FLAKE}#jqChangelogJson" -- -r '.versions[0].body' > .current-changelog.md + - echo "VERSION=$(cat .current-version)" >> build.env artifacts: + reports: + dotenv: build.env paths: - .current-version - .current-changelog.md @@ -319,7 +325,7 @@ upload docker: stage: docker script: - xzcat uniworx:exe:uniworx.nar.xz | nix-store --import - - nix -L run .#pushUniworxDocker + - nix -L run "${FLAKE}#pushUniworxDocker" before_script: *nix-before needs: - job: node dependencies # transitive @@ -343,7 +349,7 @@ upload demo docker: script: - xzcat uniworx:exe:uniworx.nar.xz | nix-store --import - xzcat uniworx:exe:uniworxdb.nar.xz | nix-store --import - - nix -L run .#pushUniworxDemoDocker + - nix -L run "${FLAKE}#pushUniworxDemoDocker" before_script: *nix-before needs: - job: node dependencies # transitive @@ -372,8 +378,6 @@ release: rules: - if: $CI_COMMIT_REF_NAME =~ /^v[0-9].*/ when: on_success - before_script: - - export VERSION="$(cat .current-version)" script: - release-cli create --name "${VERSION}" --tag-name $CI_COMMIT_TAG --description .current-changelog.md needs: