Commit f3b31668 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

Merge branch 'dev' into 'master'

* merge before migration

See merge request swe/tools/t3tools/t3q!9
parents 9616b616 0450edad
Loading
Loading
Loading
Loading
+71 −3
Original line number Diff line number Diff line
@@ -26,6 +26,14 @@
# * Verify but don't deploy merge requests.
# * Deploy built artifacts from master branch only.

spec:
  inputs:
    reset-cache:
      type: boolean
      default: false

---

variables:
  # CI_TARGET_BRANCH: $CI_DEFAULT_BRANCH
  # CI_TARGET_BRANCH: "ttf-022"
@@ -49,6 +57,9 @@ variables:
  STANDALONE_LOCATION: "de.ugoe.cs.swe.T3Q/target"
  STANDALONE_NAME: "de.ugoe.cs.swe.T3Q-1.0.0-SNAPSHOT-shadow.jar"
  STANDALONE_PATH: "${STANDALONE_LOCATION}/${STANDALONE_NAME}"
  PACKAGE_DOWNLOAD_PATH: "downloads"
  PACKAGE_DOWNLOAD_NAME: "t3q.zip"
  CHANGELOG_PATH: "changelog.txt"

  # `showDateTime` will show the passed time in milliseconds. You need to specify `--batch-mode` to make this work.
  MAVEN_OPTS: >-
@@ -101,6 +112,8 @@ image: maven:3.9.9-eclipse-temurin-21
cache:
  paths:
    - .m2/repository
    - $CI_PROJECT_DIR/.m2/repository


# For merge requests do not `deploy` but only run `verify`.
# See https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
@@ -157,8 +170,7 @@ build-job: # This job runs in the build stage, which runs first.
    # - ls $CI_PROJECT_DIR/.m2/repository
    - echo "Starting.."
    - | 
      if [ $CI_PIPELINE_SOURCE == "web" ]
      then 
      if $[[ inputs.reset-cache ]]; then
        echo "Cleaning caches..." 
        rm -rf $CI_PROJECT_DIR/.m2/* 
        rm -rf ~/.m2/*  
@@ -169,6 +181,13 @@ build-job: # This job runs in the build stage, which runs first.
    - cat build.env
    - mvn clean install -Djava-21
    - echo "Compile complete."
    - echo "Building downloadable archive."
    - rm -rf /var/lib/apt/lists/*
    - apt update
    - apt-cache gencaches
    - apt install -y zip
    - de.ugoe.cs.swe.T3Q/build/build.sh 
    - echo "Done."
  artifacts:
    expire_in: 2 days
    reports:
@@ -177,6 +196,7 @@ build-job: # This job runs in the build stage, which runs first.
      - $SITE_PATH
      - $STANDALONE_PATH 
      - $SITE_ARCHIVE
      - $PACKAGE_DOWNLOAD_PATH


# Adapted from OpenAPI2TDL converter
@@ -197,13 +217,21 @@ prepare-job:
      fi
    - echo "EXTRA_DESCRIPTION=automatic-release" >> variables.env
    - echo "VERSION=$VERSION" >> variables.env
    - RELEASE_VERSION=$(ls -1 $PACKAGE_DOWNLOAD_PATH)
    - echo "PACKAGE_DOWNLOAD_PATH=$PACKAGE_DOWNLOAD_PATH/$RELEASE_VERSION" >> variables.env
    - echo "PACKAGE_DOWNLOAD_NAME=$RELEASE_VERSION" >> variables.env    
    - echo "PACKAGE_REGISTRY_URL=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/t3tools/${VERSION}" >> variables.env
    - echo "PACKAGE_LATEST_URL=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/t3tools/latest" >> variables.env
    - echo "STANDALONE_LATEST_URL=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/t3tools/latest" >> variables.env
    - CHANGES=`git log $(git describe --tags --abbrev=0)..HEAD --format='* %h %s'`
    - echo "$CHANGES" >> changelog.txt
    - printf 'CHANGES=%s\n' "$(printf '%s' "$CHANGES" | awk '{printf "%s\\n",$0}')" >> variables.env
    - cat variables.env
  artifacts:
    reports:
      dotenv: variables.env   # Use artifacts:reports:dotenv to expose the variables to other jobs
    paths:
      - $CHANGELOG_PATH

# https://gitlab.com/gitlab-org/release-cli/-/tree/master/docs/examples/release-assets-as-generic-package/
upload-job:
@@ -223,6 +251,8 @@ upload-job:
      curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${SITE_ARCHIVE} ${PACKAGE_REGISTRY_URL}/${ARCHIVE_NAME}
    - |
      curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${STANDALONE_PATH} ${PACKAGE_REGISTRY_URL}/${STANDALONE_NAME}
    - |
      curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${PACKAGE_DOWNLOAD_PATH} ${PACKAGE_REGISTRY_URL}/${PACKAGE_DOWNLOAD_NAME}
    # - |
      # curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${SITE_ARCHIVE} ${PACKAGE_LATEST_URL}/${ARCHIVE_NAME}
    # - |
@@ -278,7 +308,7 @@ pages:
  # only:
    # - tags  

release-job:
.release-job-old:
  stage: release
  image: registry.gitlab.com/gitlab-org/release-cli:latest
  needs:
@@ -293,10 +323,13 @@ release-job:
  script:
    # --description "Published automatically, permalink for installation (valid for 7 days) at https://labs.etsi.org/rep/top/ide/-/releases/permalink/latest/downloads/repository." 
    - echo $BUILD_JOB_ID    
    - CHANGES=`git log $(git describe --tags --abbrev=0)..HEAD --format='* %h %s'`
    - |
      release-cli create --name "Release $VERSION $RELEASE_KEY" \
        --tag-name $VERSION \
        --ref $CI_COMMIT_SHA \
        --description "$CHANGES" \
        --assets-link "{\"name\":\"${PACKAGE_DOWNLOAD_NAME} (release archive)\",\"url\":\"${PACKAGE_REGISTRY_URL}/${PACKAGE_DOWNLOAD_NAME}\",\"filepath\":\"/release-archive\"}" \
        --assets-link "{\"name\":\"${PACKAGE_NAME} (standalone jar)\",\"url\":\"${PACKAGE_REGISTRY_URL}/${STANDALONE_NAME}\",\"filepath\":\"/standalone-jar\"}" \
        --assets-link "{\"name\":\"${PACKAGE_NAME} (downloadable repository archive)\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ARCHIVE_NAME}\",\"filepath\":\"/repository-archive\"}" \
        --assets-link "{\"name\":\"${PACKAGE_NAME} (snapshot ${RELEASE_KEY} repository for ${VERSION} (exipres in 7 days))\",\"url\":\"${REPO_PREFIX}/${BUILD_JOB_ID}/${REPO_PATH}\"}" \
@@ -307,3 +340,38 @@ release-job:
        # --assets-link "{\"name\":\"${WINDOWS_GUI_JAR}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${WINDOWS_GUI_JAR}\"}" \
        # --assets-link "{\"name\":\"${CLI_JAR}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${CLI_JAR}\"}" \
        # --assets-link "{\"name\":\"${LIB_JAR}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${LIB_JAR}\"}"

release-job:
  stage: release
  image: registry.gitlab.com/gitlab-org/cli:latest
  needs:
    - job: prepare-job
      artifacts: true
    - job: build-job
      artifacts: true
    - job: pages
      artifacts: true
  rules:
    - !reference [.default_rules, rules]
  script:
    - echo $BUILD_JOB_ID
  release:
    name: 'Release $VERSION $RELEASE_KEY'
    tag_name: $VERSION
    ref: $CI_COMMIT_SHA
    description: $CHANGELOG_PATH
    assets:
      links:
      - name: "${PACKAGE_DOWNLOAD_NAME} (release archive)"
        url: "${PACKAGE_REGISTRY_URL}/${PACKAGE_DOWNLOAD_NAME}"
        filepath: "/release-archive"
      - name: "${PACKAGE_NAME} (standalone jar)"
        url: "${PACKAGE_REGISTRY_URL}/${STANDALONE_NAME}"
        filepath: "/standalone-jar"
      - name: "${PACKAGE_NAME} (downloadable repository archive)"
        url: "${PACKAGE_REGISTRY_URL}/${ARCHIVE_NAME}"
        filepath: "/repository-archive"
      - name: "${PACKAGE_NAME} (snapshot ${RELEASE_KEY} repository for ${VERSION} (exipres in 7 days))"
        url: "${REPO_PREFIX}/${BUILD_JOB_ID}/${REPO_PATH}"
      - name: "${PACKAGE_NAME} (latest ${RELEASE_KEY} release repository (permalink))"
        url: "${RELEASE_PAGE}"
+33 −0
Original line number Diff line number Diff line
#!/bin/bash

BASE_DIR=$(dirname "$0")
PARENT=$(dirname "$BASE_DIR")
# echo "Base: $BASE_DIR"
# echo "Parent: $PARENT"

# get version
VERSION=$(grep -m 1 "<profileVersion>" $BASE_DIR/t3q.xml | cut -d '>' -f 2 | cut -d '<' -f 1)
echo "Version: $VERSION"

TARGET=downloads/t3q-$VERSION
mkdir -p $TARGET

# assemble contents
echo "Assembling contents..."
cp $BASE_DIR/t3q.xml $TARGET/
cp $BASE_DIR/t3q.bat $TARGET/
cp $BASE_DIR/t3q $TARGET/
cp $PARENT/target/de.ugoe.cs.swe.T3Q-1.0.0-SNAPSHOT-shadow.jar $TARGET/t3q.jar

# zip contents of target directory without parent path
echo "Creating archive..."
cd downloads
zip -r t3q-$VERSION.zip t3q-$VERSION/
ls -l

# clean up
echo "Cleaning up..."
rm -rf t3q-$VERSION/
ls -l

cd ..
+282 −6

File changed.

Preview size limit exceeded, changes collapsed.

+398 −0

File added.

Preview size limit exceeded, changes collapsed.

+3 −3
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
  <ConfigurationProfiles>
    <QualityCheckProfile>
      <profileName>stf160Profile</profileName>
      <profileVersion>v2.1.0b4</profileVersion>
      <profileVersion>v2.1.0b5</profileVersion>
      <!--  <resourceExtensionsRegExp>ttcn|ttcn3|3mp</resourceExtensionsRegExp> -->
      <!--    <projectExtension>t3p</projectExtension> -->
      <!-- added pattern for files generated from ASN.1 -->
@@ -149,7 +149,7 @@
    </QualityCheckProfile>
    <QualityCheckProfile>
      <profileName>defaultProfile</profileName>
      <profileVersion>v2.1.0b4</profileVersion>
      <profileVersion>v2.1.0b5</profileVersion>
      <ignoredResourceRegExp>(.*asn[.]json[.].*ttcn)|(.*[/\\]Common[/\\](IMS_LibSip|IMS_XSD)[/\\].*[.]ttcn)</ignoredResourceRegExp>
      <settingAbortOnError>true</settingAbortOnError>
      <loggingConfiguration>
@@ -273,7 +273,7 @@
    </QualityCheckProfile>
    <QualityCheckProfile>
      <profileName>nothing</profileName>
      <profileVersion>v2.1.0b4</profileVersion>
      <profileVersion>v2.1.0b5</profileVersion>
      <ignoredResourceRegExp>(.*asn[.]json[.].*ttcn)|(.*[/\\]Common[/\\](IMS_LibSip|IMS_XSD)[/\\].*[.]ttcn)</ignoredResourceRegExp>
      <settingAbortOnError>true</settingAbortOnError>
      <loggingConfiguration>
Loading