diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 02ee9c3f8..22e69061e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,7 +25,7 @@ node dependencies: stage: frontend:build script: - nix -L build -o result .#uniworxNodeDependencies - - nix-store --export $(nix-store -qR result) | xz > node-dependencies.nar.xz + - nix-store --export $(nix-store -qR result) | xz -T0 -2 > node-dependencies.nar.xz before_script: &nix-before - mkdir -p /etc/nix - install -m 0644 .gitlab-ci/nix-bootstrap.conf /etc/nix/nix.conf @@ -56,7 +56,7 @@ well known: script: - xzcat node-dependencies.nar.xz | nix-store --import - nix -L build -o result .#uniworxWellKnown - - nix-store --export $(nix-store -qR result) | xz > well-known.nar.xz + - nix-store --export $(nix-store -qR result) | xz -T0 -2 > well-known.nar.xz before_script: *nix-before needs: - job: node dependencies @@ -75,7 +75,7 @@ frontend: - xzcat node-dependencies.nar.xz | nix-store --import - xzcat well-known.nar.xz | nix-store --import - nix -L build -o result .#uniworxFrontend - - nix-store --export $(nix-store -qR result) | xz > frontend.nar.xz + - nix-store --export $(nix-store -qR result) | xz -T0 -2 > frontend.nar.xz before_script: *nix-before needs: - job: node dependencies @@ -95,9 +95,13 @@ uniworx:lib:uniworx: script: - xzcat frontend.nar.xz | nix-store --import - nix -L build -o result .#uniworx:lib:uniworx - - nix-store --export $(nix-store -qR result) | xz > uniworx:lib:uniworx.nar.xz + - nix-store --export $(nix-store -qR result) | xz -T0 -2 > uniworx:lib:uniworx.nar.xz before_script: *nix-before needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false - job: frontend artifacts: true artifacts: @@ -113,9 +117,15 @@ uniworx:exe:uniworx: script: - xzcat uniworx:lib:uniworx.nar.xz | nix-store --import - nix -L build -o result .#uniworx:exe:uniworx - - nix-store --export $(nix-store -qR result) | xz > uniworx:exe:uniworx.nar.xz + - nix-store --export $(nix-store -qR result) | xz -T0 -2 > uniworx:exe:uniworx.nar.xz before_script: *nix-before needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false + - job: frontend # tranitive + artifacts: false - job: uniworx:lib:uniworx artifacts: true artifacts: @@ -131,9 +141,15 @@ uniworx:exe:uniworx-wflint: script: - xzcat uniworx:lib:uniworx.nar.xz | nix-store --import - nix -L build -o result .#uniworx:exe:uniworx-wflint - - nix-store --export $(nix-store -qR result) | xz > uniworx:exe:uniworx-wflint.nar.xz + - nix-store --export $(nix-store -qR result) | xz -T0 -2 > uniworx:exe:uniworx-wflint.nar.xz before_script: *nix-before needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false + - job: frontend # tranitive + artifacts: false - job: uniworx:lib:uniworx artifacts: true artifacts: @@ -149,9 +165,15 @@ uniworx:exe:uniworxdb: script: - xzcat uniworx:lib:uniworx.nar.xz | nix-store --import - nix -L build -o result .#uniworx:exe:uniworxdb - - nix-store --export $(nix-store -qR result) | xz > uniworx:exe:uniworxdb.nar.xz + - nix-store --export $(nix-store -qR result) | xz -T0 -2 > uniworx:exe:uniworxdb.nar.xz before_script: *nix-before needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false + - job: frontend # tranitive + artifacts: false - job: uniworx:lib:uniworx artifacts: true artifacts: @@ -167,9 +189,15 @@ uniworx:exe:uniworxload: script: - xzcat uniworx:lib:uniworx.nar.xz | nix-store --import - nix -L build -o result .#uniworx:exe:uniworxload - - nix-store --export $(nix-store -qR result) | xz > uniworx:exe:uniworxload.nar.xz + - nix-store --export $(nix-store -qR result) | xz -T0 -2 > uniworx:exe:uniworxload.nar.xz before_script: *nix-before needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false + - job: frontend # tranitive + artifacts: false - job: uniworx:lib:uniworx artifacts: true artifacts: @@ -188,6 +216,10 @@ check: - nix -L flake check before_script: *nix-before needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false - job: frontend artifacts: true - job: uniworx:lib:uniworx @@ -204,9 +236,17 @@ demo docker: - cp -pr --reflink=auto -L result uniworx-demo.tar.gz before_script: *nix-before needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false + - job: frontend # tranitive + artifacts: false + - job: uniworx:lib:uniworx # transitive + artifacts: false - job: uniworx:exe:uniworx artifacts: true - - job: check + - job: check # sanity artifacts: false artifacts: paths: @@ -226,9 +266,17 @@ docker: - cp -pr --reflink=auto -L result uniworx.tar.gz before_script: *nix-before needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false + - job: frontend # tranitive + artifacts: false + - job: uniworx:lib:uniworx # transitive + artifacts: false - job: uniworx:exe:uniworx artifacts: true - - job: check + - job: check # sanity artifacts: false artifacts: paths: @@ -268,6 +316,18 @@ upload docker: - nix -L run .#pushUniworxDocker before_script: *nix-before needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false + - job: frontend # tranitive + artifacts: false + - job: uniworx:lib:uniworx # transitive + artifacts: false + - job: uniworx:exe:uniworx # transitive + artifacts: false + - job: check # transitive + artifacts: false - job: docker artifacts: true rules: @@ -281,6 +341,18 @@ upload demo docker: - nix -L run .#pushUniworxDemoDocker before_script: *nix-before needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false + - job: frontend # tranitive + artifacts: false + - job: uniworx:lib:uniworx # transitive + artifacts: false + - job: uniworx:exe:uniworx # transitive + artifacts: false + - job: check # transitive + artifacts: false - job: demo docker artifacts: true rules: @@ -299,3 +371,8 @@ release: - export VERSION="$(cat .current-version)" script: - release-cli create --name "${VERSION}" --tag-name $CI_COMMIT_TAG --description .current-changelog.md + needs: + - job: check # sanity + artifacts: false + - job: parse changelog + artifacts: true