Skip to content
Snippets Groups Projects
Verified Commit 878e0172 authored by Volker Schukai's avatar Volker Schukai :alien:
Browse files

fix: update ci test

parent 9e87a1d5
No related branches found
No related tags found
No related merge requests found
/nix/store/hp4y487ym0n2nvcqmhix6irzffnhdx4a-Taskfile.yaml
\ No newline at end of file
/nix/store/r21ipdiswnz3fcsn51i8l1zipjp91f91-Taskfile.yaml
\ No newline at end of file
......@@ -8,7 +8,10 @@
modulesPath,
...
}: let
taskfileYaml = pkgs.writeTextFile {
taskfileYaml = let
gitCommit = (builtins.getFlake "git+https://gitlab.schukai.com/schukai/entwicklung/nix-flakes").packages.${builtins.currentSystem}.git-commit;
in
pkgs.writeTextFile {
name = "Taskfile.yaml";
text = ''
## DO NOT EDIT THIS FILE MANUALLY, IT IS GENERATED BY NIX
......@@ -26,6 +29,13 @@ tasks:
- source/**/*.go
- source/go.mod
- dist/**
git-commit:
desc: Commit changes to git
cmds:
- ${gitCommit}/bin/git-commit
silent: true
commit:
desc: Commit a feature
......@@ -155,7 +165,15 @@ tasks:
'';
};
goReleaserYaml = pkgs.writeTextFile {
goReleaserYaml = let
goPkgReleaseData = import ./project.nix;
goPkgName = goPkgReleaseData.name or "goPkg";
goPkgMnemonic = goPkgReleaseData.mnemonic or "go-pkg";
goPkgDescription = goPkgReleaseData.description or "this is a goPkg";
goPkgVersion = goPkgReleaseData.version or "0.1.0";
in
pkgs.writeTextFile {
name = ".goreleaser.yml";
text = ''
## DO NOT EDIT THIS FILE MANUALLY, IT IS GENERATED BY NIX
......@@ -172,36 +190,18 @@ tasks:
# Since: v1.11
use_job_token: false
project_name: version
project_name: ${goPkgMnemonic}
builds:
- id: version
- id: ${goPkgMnemonic}
goos:
- linux
- darwin
- windows
# goarch:
# - amd64
## - arm64
## - "386"
# goarm:
# - "6"
## gomips:
## - hardfloat
## goamd64:
## - v1
# targets:
# - linux_amd64_v1
# - linux_arm64
## - linux_386
# - darwin_amd64_v1
# - darwin_arm64
# - windows_amd64_v1
# - windows_arm64
# - windows_386
dir: ${config.devenv.root}/source
ldflags:
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.build={{.Date}}
- -s -w -X main.version={{.Version}} -X 'main.commit={{.Commit}}' -X 'main.build={{.Date}}' -X 'main.mnemonic=${goPkgMnemonic}' -X 'main.name=${goPkgName}'
## DO NOT EDIT THIS FILE MANUALLY, IT IS GENERATED BY NIX
'';
......@@ -286,39 +286,38 @@ in {
echo " ✖ Not in gitlab ci."
exit 0
fi
set -x
${pkgs.git}/bin/git config user.email "''${GITLAB_USER_EMAIL}"
${pkgs.git}/bin/git config user.name "''${GITLAB_USER_NAME:-"Gitlab CI"}"
${pkgs.git}/bin/git config credential.helper '!f() { echo "username=gitlab-ci-token"; echo "password=''${CI_JOB_TOKEN}"; }; f'
${pkgs.git}/bin/git config pull.rebase true
${pkgs.git}/bin/git config http.sslVerify "false"
${pkgs.git}/bin/git remote set-url origin https://pad:''${GITLAB_TOKEN}@''${CI_REPOSITORY_URL#*@}
${pkgs.git}/bin/git fetch --all --tags --unshallow
${pkgs.git}/bin/git reset --hard origin/master
${pkgs.git}/bin/git checkout $CI_COMMIT_REF_NAME
${pkgs.git}/bin/git pull origin $CI_COMMIT_REF_NAME
NEWVERSION=$(${inputs.version.defaultPackage."${builtins.currentSystem}"}/bin/version predict --git exit-code-if-no-bump)
if [[ $? -ne 0 ]]; then
echo " ✖ No bump wanted."
exit 0
fi
if [[ -z "''${NEWVERSION}" ]]; then
echo " ✖ No version found."
exit 0
fi
sed -i "s/version\s*=\s*\".*\"/version=\"''${NEWVERSION}\"/" ${config.devenv.root}/project.nix
${pkgs.git}/bin/git add ${config.devenv.root}/project.nix
${pkgs.git}/bin/git commit -m "chore: Bump version to ''${NEWVERSION} (NOT_TAGIT)"
${pkgs.git}/bin/git log --decorate=short --pretty=oneline
${pkgs.git}/bin/git tag -a "''${NEWVERSION}" -m "chore: Release ''${NEWVERSION} (NOT_TAGIT)"
${pkgs.git}/bin/git push origin $CI_COMMIT_REF_NAME --tags
set -x
${pkgs.git}/bin/git config user.email "''${GITLAB_USER_EMAIL}"
${pkgs.git}/bin/git config user.name "''${GITLAB_USER_NAME:-"Gitlab CI"}"
${pkgs.git}/bin/git config credential.helper '!f() { echo "username=gitlab-ci-token"; echo "password=''${CI_JOB_TOKEN}"; }; f'
${pkgs.git}/bin/git config pull.rebase true
${pkgs.git}/bin/git config http.sslVerify "false"
${pkgs.git}/bin/git remote set-url origin https://pad:''${GITLAB_TOKEN}@''${CI_REPOSITORY_URL#*@}
${pkgs.git}/bin/git fetch --all --tags --unshallow
${pkgs.git}/bin/git reset --hard origin/master
${pkgs.git}/bin/git checkout $CI_COMMIT_REF_NAME
${pkgs.git}/bin/git pull origin $CI_COMMIT_REF_NAME
NEWVERSION=$(${inputs.version.defaultPackage."${builtins.currentSystem}"}/bin/version predict --git exit-code-if-no-bump)
if [[ $? -ne 0 ]]; then
echo " ✖ No bump wanted."
exit 0
fi
if [[ -z "''${NEWVERSION}" ]]; then
echo " ✖ No version found."
exit 0
fi
sed -i "s/version\s*=\s*\".*\"/version=\"''${NEWVERSION}\"/" ${config.devenv.root}/project.nix
${pkgs.git}/bin/git add ${config.devenv.root}/project.nix
${pkgs.git}/bin/git commit -m "chore: Bump version to ''${NEWVERSION} (NOT_TAGIT)"
${pkgs.git}/bin/git log --decorate=short --pretty=oneline
${pkgs.git}/bin/git tag -a "''${NEWVERSION}" -m "chore: Release ''${NEWVERSION} (NOT_TAGIT)"
${pkgs.git}/bin/git push origin $CI_COMMIT_REF_NAME --tags
'';
scripts.update-files.exec = ''
......@@ -357,9 +356,25 @@ in {
difftastic.enable = true;
scripts.get-commit-hash.exec = ''
#!${pkgs.bash}/bin/bash
hash=""
if [[ -n "$CI_COMMIT_SHORT_SHA" ]]; then
hash="$CI_COMMIT_SHORT_SHA"
else
hash="$(git rev-parse --short HEAD)"
if [[ -n "$(git status --porcelain)" ]]; then
hash="''${hash}-dirty"
fi
fi
echo "$hash"
'';
scripts.build-app.exec = ''
#!${pkgs.bash}/bin/bash
${pkgs.treefmt}/bin/treefmt
update-hashes
${pkgs.nix}/bin/nix build .#version
'';
......@@ -370,7 +385,6 @@ in {
scripts.update-hashes.exec = ''
#!${pkgs.bash}/bin/bash
set -x
sed -i 's/vendorHash\s*=\s*".*"/vendorHash="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="/' ${config.devenv.root}/project.nix
HASH=$(${pkgs.nix}/bin/nix build 2>&1 | grep 'got:' | awk '{print $2}')
sed -i "s/vendorHash\s*=\s*\".*\"/vendorHash=\"''${HASH}\"/" ${config.devenv.root}/project.nix
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment