update default session-id-header for tags-http-exporter (#1620) #12
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Release | |
on: | |
push: | |
tags: | |
- "[0-9]*.[0-9]*.[0-9]**" | |
jobs: | |
build_and_release: | |
name: 'Build and Release' | |
runs-on: ubuntu-latest | |
environment: release | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Grant execute permission for gradlew | |
run: chmod +x gradlew | |
- name: Build artifacts | |
run: | | |
./gradlew assemble bootJarWithFrontend :inspectit-ocelot-core:cyclonedxBom :inspectit-ocelot-configurationserver:cyclonedxBom -PbuildVersion=${{ github.ref_name }} | |
mkdir artifacts | |
cp ./inspectit-ocelot-agent/build/inspectit-ocelot-agent-${{ github.ref_name }}.jar ./artifacts | |
cp ./components/inspectit-ocelot-configurationserver/build/libs/inspectit-ocelot-configurationserver-${{ github.ref_name }}.jar ./artifacts | |
mkdir boms | |
cp ./inspectit-ocelot-core/build/reports/bom.json ./boms/inspectit-ocelot-agent-bom.json | |
cp ./inspectit-ocelot-core/build/reports/bom.xml ./boms/inspectit-ocelot-agent-bom.xml | |
cp ./components/inspectit-ocelot-configurationserver/build/reports/bom.json ./boms/inspectit-ocelot-configurationserver-bom.json | |
cp ./components/inspectit-ocelot-configurationserver/build/reports/bom.xml ./boms/inspectit-ocelot-configurationserver-bom.xml | |
zip -r ./artifacts/software-bill-of-materials.zip ./boms | |
- name: Calculate checksums of release artifacts | |
working-directory: ./artifacts | |
run: for f in *; do sha256sum "$f" >> inspectit-ocelot-sha256-checksums.txt; done | |
- name: "Get previous tag" | |
id: previoustag | |
# this gets the tag of the previous release based on the tags in the repo | |
run: echo "tag=$(git ls-remote --tags | cut --delimiter='/' --fields=3 | tail --lines=2 | head -n -1)" >> $GITHUB_OUTPUT | |
- name: "Build Changelog" | |
id: build_changelog | |
uses: danipaniii/action-github-changelog-generator@v1.2 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
sinceTag: ${{ steps.previoustag.outputs.tag }} | |
dateFormat: | |
maxIssues: 500 | |
unreleased: false | |
author: false | |
headerLabel: "## Changelog" | |
stripGeneratorNotice: true | |
- name: Create Release | |
uses: softprops/action-gh-release@v0.1.14 | |
with: | |
tag_name: ${{ github.event.inputs.boomerang-version }} | |
files: artifacts/* | |
generate_release_notes: false | |
token: ${{ github.token }} | |
name: Version ${{ github.ref_name }} | |
body: | | |
"You can also find the corresponding documentation online under the following link: [inspectIT Ocelot Documentation](http://docs.inspectit.rocks)" | |
${{ steps.build_changelog.outputs.changelog }} | |
build_and_publish_docker_images: | |
name: "Build and Push Docker Images" | |
runs-on: ubuntu-latest | |
needs: build_and_release | |
environment: release | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Grant execute permission for gradlew | |
run: chmod +x gradlew | |
- name: Build Docker Images | |
run: ./gradlew dockerTag -PbuildVersion=${{ github.ref_name }} | |
- name: Push Docker Images | |
run: | | |
docker login -u ${{ secrets.DOCKER_HUB_USER }} -p ${{ secrets.DOCKER_HUB_PASSWORD }} | |
docker push inspectit/inspectit-ocelot-agent:${{ github.ref_name }} | |
docker push inspectit/inspectit-ocelot-agent:latest | |
docker push inspectit/inspectit-ocelot-configurationserver:${{ github.ref_name }} | |
docker push inspectit/inspectit-ocelot-configurationserver:latest | |
build_documentation: | |
name: "Build and Publish Release Documentation" | |
runs-on: ubuntu-latest | |
environment: release | |
defaults: | |
run: | |
working-directory: inspectit-ocelot-documentation/website | |
needs: build_and_release | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
# Uses Personal Access Token of Github user NTTechnicalUser. | |
# This stores git credentials for all subsequent steps. | |
# Currently, we only need it for step _Create new Documentation | |
# Version_. | |
# Otherwise that step is not allowed to push to master, as it is a | |
# protected branch. | |
token: ${{ secrets.RELEASE_USER_TOKEN }} | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: yarn | |
cache-dependency-path: 'inspectit-ocelot-documentation/website/yarn.lock' | |
- name: Replace Variables in Docs | |
working-directory: ./inspectit-ocelot-documentation/docs | |
run: | | |
find . -type f -print0 | xargs -0 sed -i 's/{inspectit-ocelot-version}/'"${{ github.ref_name }}"'/g' | |
OPEN_CENSUS_VERSION=$(cat ../../gradle.properties | grep -oP '(?<=openCensusVersion=).*') | |
find . -type f -print0 | xargs -0 sed -i 's/{opencensus-version}/'"${OPEN_CENSUS_VERSION}"'/g' | |
- name: Create new Documentation Version | |
run: | | |
npm install | |
npm run version ${{ github.ref_name }} | |
git add versions.json versioned_docs versioned_sidebars | |
git config --global user.name 'NTTechnicalUser' | |
git config --global user.email 'NTTechnicalUser@users.noreply.github.com' | |
git commit -m "Publish documentation for release ${{ github.ref_name }}" | |
git push -f origin HEAD:master | |
- name: Install Build Dependencies | |
run: yarn install --frozen-lockfile | |
- name: Build Website | |
run: yarn build | |
- name: Deploy to GitHub Pages | |
uses: peaceiris/actions-gh-pages@v3 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: ./inspectit-ocelot-documentation/website/build/inspectit-ocelot | |
user_name: NTTechnicalUser | |
user_email: NTTechnicalUser@users.noreply.github.com | |
commit_message: Publish documentation for release ${{ github.ref_name }} |