Compare commits

...

12 commits

Author SHA1 Message Date
semantic-release-bot
e0072ca3f8 chore(release): 0.2.0 [skip ci]
# [0.2.0](https://stackit-solutions.git.onstackit.cloud/actions/notify/compare/v0.1.2...v0.2.0) (2026-04-17)

### Features

* linting ([9d4e8c9](9d4e8c9a9d))
* linting ([5b93809](5b938091d7))
* pipeline container build ([0414cf6](0414cf6dfb))
2026-04-17 14:20:41 +00:00
Marcel S. Henselin
9d4e8c9a9d feat: linting
Some checks failed
Sample Testing / my_job (push) Failing after 1m6s
CI / lint (push) Failing after 2m21s
CI / release (push) Successful in 6m17s
2026-04-17 16:15:26 +02:00
Marcel S. Henselin
5b938091d7 feat: linting
Some checks failed
Sample Testing / my_job (push) Failing after 48s
CI / lint (push) Failing after 1m49s
CI / release (push) Failing after 2m55s
2026-04-17 16:09:15 +02:00
Marcel S. Henselin
0414cf6dfb feat: pipeline container build
Some checks failed
Sample Testing / my_job (push) Failing after 1m27s
CI / lint (push) Failing after 2m51s
CI / release (push) Failing after 4m2s
2026-04-17 16:03:31 +02:00
Marcel S. Henselin
cceaea7cb7 chore: update image
Some checks failed
Sample Testing / my_job (push) Failing after 1m1s
2026-04-17 15:39:17 +02:00
Marcel S. Henselin
6b7fb1fe82 chore: update image
Some checks failed
Sample Testing / my_job (push) Has been cancelled
2026-04-17 15:37:53 +02:00
Marcel S. Henselin
15d776c790 chore: REDAME
Some checks failed
Sample Testing / my_job (push) Failing after 30s
2026-04-17 15:35:58 +02:00
Marcel S. Henselin
f51f6faf19 chore: cleanup
Some checks failed
Sample Testing / my_job (push) Failing after 38s
2026-04-17 15:30:15 +02:00
Marcel S. Henselin
141b4aba86 chore: cleanup
Some checks failed
Sample Testing / my_job (push) Failing after 1m0s
2026-04-17 15:18:40 +02:00
Marcel S. Henselin
4d0bfa2eb0 chore: cleanup
All checks were successful
Sample Testing / my_job (push) Successful in 38s
2026-04-17 15:16:23 +02:00
Marcel S. Henselin
ffd2cd4716 chore: cleanup
All checks were successful
Sample Testing / my_job (push) Successful in 39s
2026-04-17 15:11:26 +02:00
Marcel S. Henselin
ab184a741a chore: use image instead of build
All checks were successful
Sample Testing / my_job (push) Successful in 40s
2026-04-17 15:02:44 +02:00
11 changed files with 274 additions and 65 deletions

View file

@ -1,34 +1,38 @@
name: Sample Testing
on: [push]
env:
VER: 0.1.2
jobs:
my_job:
runs-on: stackit-docker
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Get commit hash
if: ${{ always() }}
run: echo "::set-output name=sha8::$(echo ${FORGEJO_SHA} | cut -c1-8)"
id: slug
- name: First Chat Message
if: ${{ always() }}
uses: https://stackit-solutions.git.onstackit.cloud/actions/notify@v0.1.2
uses: https://stackit-solutions.git.onstackit.cloud/actions/notify@v${{ env.VER }}
with:
title: "[START] sample test (${{ forgejo.run_number }})"
author: ${{ forgejo.actor }}
giturl: ${{ forgejo.server_url }}
# status: ${{ job.status }}
iconslug: instacart
# status: ${{ job.status }} # optional
actionid: ${{ forgejo.run_number }}
webhook: "${{ secrets.WEBHOOK_URL }}"
# event_body: "" # optional
- name: Force failure
run: |
echo "This is a force failure"
exit 1
- name: Second Chat Message as ThreadResponse
if: ${{ always() }}
uses: https://stackit-solutions.git.onstackit.cloud/actions/notify@v0.1.2
with:
title: "[END] sample test (${{ forgejo.run_number }})"
iconslug: bun
author: ${{ forgejo.actor }}
giturl: ${{ forgejo.server_url }}
status: ${{ job.status }}

102
.github/workflows/release.yml vendored Normal file
View file

@ -0,0 +1,102 @@
name: CI
on:
push:
branches:
- '**'
pull_request:
branches:
- '**'
# If a 403 error occurs, make sure to set content permission to write
# see: https://github.com/go-semantic-release/action/issues/27
permissions:
contents: write
jobs:
lint:
runs-on: stackit-docker
steps:
- name: CI checkout
uses: actions/checkout@v6
- name: Setup GO
uses: actions/setup-go@v6
with:
go-version: 1.26
- name: GO Linting
uses: golangci/golangci-lint-action@v3
# build:
# runs-on: stackit-docker
## strategy:
## fail-fast: true
## matrix:
## node: [10, 12]
# steps:
# - uses: actions/checkout@v6
#
# - uses: actions/setup-node@v1
# with:
# node-version: ${{ matrix.node }}
# - run: npm ci
# - run: npm test
release:
runs-on: stackit-docker
# needs: build
outputs:
tag: ${{ steps.create_release.outputs.tag }}
steps:
- name: Checkout code
uses: actions/checkout@v6
# - name: Semantic Release
# uses: go-semantic-release/action@v1
# id: semrel
# with:
# github-token: ${{ env.FORGEJO_TOKEN }}
# allow-initial-development-versions: true
# # update-file: package.json
# changelog-file: CHANGELOG.md
# changelog-generator-opt: "emojis=true"
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Create Release
env:
FORGEJO_TOKEN: ${{ secrets.FORGEJO_TOKEN }}
id: create_release
run: |
npx \
-p semantic-release \
-p @semantic-release/commit-analyzer \
-p @semantic-release/release-notes-generator \
-p @semantic-release/changelog \
-p @semantic-release/git \
semantic-release
echo "tag=$(git describe --tags --abbrev=0)" >> $FORGEJO_OUTPUT
- name: Login to Docker Hub
if: steps.create_release.outputs.tag != ''
uses: docker/login-action@v4
with:
registry: ${{ forgejo.server_url }}
username: ${{ vars.GIT_USERNAME }}
password: ${{ secrets.GIT_PAT }}
# - name: Set up QEMU
# if: steps.semrel.outputs.version != ''
# uses: docker/setup-qemu-action@v4
- name: Set up Docker Buildx
if: steps.create_release.outputs.tag != ''
uses: docker/setup-buildx-action@v4
- name: Build and push
uses: docker/build-push-action@v7
with:
push: false
tags: actions/notify-slim:${{ steps.create_release.outputs.tag }}

90
.golang-ci.yaml Normal file
View file

@ -0,0 +1,90 @@
version: "2"
run:
concurrency: 4
output:
formats:
text:
print-linter-name: true
print-issued-lines: true
colors: true
path: stdout
linters:
enable:
- bodyclose
- depguard
- errorlint
- forcetypeassert
- gochecknoinits
- gocritic
- gosec
- misspell
- nakedret
- revive
- sqlclosecheck
- wastedassign
disable:
- noctx
- unparam
settings:
depguard:
rules:
main:
list-mode: original
allow: []
deny:
- pkg: github.com/stretchr/testify
desc: Do not use a testing framework
gocritic:
disabled-checks:
- wrapperFunc
- typeDefFirst
- ifElseChain
- dupImport
- hugeParam
enabled-tags:
- performance
- style
- experimental
gosec:
excludes:
- G104
- G102
- G304
- G307
misspell:
locale: US
nakedret:
max-func-lines: 0
revive:
severity: error
rules:
- name: errorf
- name: context-as-argument
- name: error-return
- name: increment-decrement
- name: indent-error-flow
- name: superfluous-else
- name: unused-parameter
- name: unreachable-code
- name: atomic
- name: empty-lines
- name: early-return
exclusions:
paths:
- generator/
- internal/testutils
generated: lax
warn-unused: true
# Excluding configuration per-path, per-linter, per-text and per-source.
rules:
# Exclude some linters from running on tests files.
- path: _test\.go
linters:
- gochecknoinits
formatters:
enable:
- gofmt
- goimports
# settings:
# goimports:
# local-prefixes:

10
.releaserc.json Normal file
View file

@ -0,0 +1,10 @@
{
"branches": ["main"],
"tagFormat": "v${version}",
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
"@semantic-release/git"
]
}

8
CHANGELOG.md Normal file
View file

@ -0,0 +1,8 @@
# [0.2.0](https://stackit-solutions.git.onstackit.cloud/actions/notify/compare/v0.1.2...v0.2.0) (2026-04-17)
### Features
* linting ([9d4e8c9](https://stackit-solutions.git.onstackit.cloud/actions/notify/commit/9d4e8c9a9dc3fcc133299e978fed191ad6052aac))
* linting ([5b93809](https://stackit-solutions.git.onstackit.cloud/actions/notify/commit/5b938091d705e01f6467cdd6be9144e491c66502))
* pipeline container build ([0414cf6](https://stackit-solutions.git.onstackit.cloud/actions/notify/commit/0414cf6dfb9956c85bb48f5217806841f5819716))

View file

@ -1,10 +1,29 @@
FROM golang:1.26
FROM golang:1.26 AS builder
WORKDIR /src
RUN apt-get update && apt-get -y install upx
WORKDIR /app
ENV CGO_ENABLED=0
COPY . .
RUN go get -u github.com/sethvargo/go-githubactions/... \
&& go mod tidy \
&& go build -o /bin/google-chat-action
RUN go mod tidy && go build \
-a \
-trimpath \
-ldflags "-s -w -extldflags '-static'" \
-installsuffix cgo \
-tags netgo \
-o /bin/google-chat-action \
.
RUN strip /bin/google-chat-action
RUN upx -q -9 /bin/google-chat-action
FROM scratch
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=builder /bin/google-chat-action /bin/google-chat-action
ENTRYPOINT ["/bin/google-chat-action"]

10
Dockerfile.big Normal file
View file

@ -0,0 +1,10 @@
FROM golang:1.26
WORKDIR /src
COPY . .
RUN go get -u github.com/sethvargo/go-githubactions/... \
&& go mod tidy \
&& go build -o /bin/google-chat-action
ENTRYPOINT ["/bin/google-chat-action"]

View file

@ -13,23 +13,20 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Get commit hash
if: ${{ always() }}
run: echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)"
id: slug
- name: Chat Setup
if: ${{ always() }}
uses: https://stackit-solutions.git.onstackit.cloud/actions/notify@v0
with:
project: ${{ github.repository }}
commit: ${{ steps.slug.outputs.sha8 }}
branch: ${{ github.ref }}
status: ${{ job.status }}
actionid: ${{ github.repository }}/runs/${{ github.run_id }}
webhook: "https://chat.googleapis.com/v1/spaces/AAAAzPcAy4s/messages?key=AIzaSyDdI0hCZtE6vySjMm-WEfRq3CPzqKqqsHI&token=MmdzluicdrdkyUAV_QwB6BzlLcIhbfrwNzxVrEllaec%3D&threadKey=git-commit"
# ... all your steps
- name: Sample Chat Message
if: ${{ always() }} # runs als after fails
uses: https://stackit-solutions.git.onstackit.cloud/actions/notify@v0.1.2
with:
title: "[START] sample test (${{ forgejo.run_number }})"
author: ${{ forgejo.actor }}
giturl: ${{ forgejo.server_url }}
iconslug: instacart # optional
# status: ${{ job.status }} # optional
actionid: ${{ forgejo.run_number }}
webhook: "${{ secrets.WEBHOOK_URL }}"
event_body: "This is a sample <b>TEXT</b><br>with a new line" # optional
```
TODO - icon_slug

View file

@ -1,31 +0,0 @@
FROM golang:1.26 AS builder
RUN apt-get update && apt-get -y install upx
WORKDIR /app
#RUN mkdir -p $GOPATH/src/github.com/DTherHtun/google-chat-action
#ADD . $GOPATH/src/github.com/DTherHtun/google-chat-action
# RUN go get -u github.com/sethvargo/go-githubactions/...
ENV CGO_ENABLED=0
COPY . .
RUN go mod tidy && go build \
-a \
-trimpath \
-ldflags "-s -w -extldflags '-static'" \
-installsuffix cgo \
-tags netgo \
-o /bin/google-chat-action \
.
RUN strip /bin/google-chat-action
RUN upx -q -9 /bin/google-chat-action
FROM scratch
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=builder /bin/google-chat-action /bin/google-chat-action
ENTRYPOINT ["/bin/google-chat-action"]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Before After
Before After

View file

@ -27,7 +27,7 @@
{
"textParagraph": {
"text": "{{ .EventBody }}",
"maxLines": 2
"maxLines": 5
}
},
{