Compare commits
4 Commits
0.2.4
..
4e1325a6fb
| Author | SHA1 | Date | |
|---|---|---|---|
| 4e1325a6fb | |||
| ea64d8703d | |||
| 153205be40 | |||
| f3a54d6ed3 |
@@ -50,7 +50,8 @@ jobs:
|
|||||||
--label "git.commitBy=${{ github.actor }}" \
|
--label "git.commitBy=${{ github.actor }}" \
|
||||||
--label "build.date=${NOW}" \
|
--label "build.date=${NOW}" \
|
||||||
-f "${DOCKERFILE}" \
|
-f "${DOCKERFILE}" \
|
||||||
-t "${DOCKER_IMAGE_NAME}:${VERSION}" .
|
-t "${DOCKER_IMAGE_NAME}:${VERSION}" \
|
||||||
|
-t "${DOCKER_IMAGE_NAME}:latest" .
|
||||||
|
|
||||||
REGISTRY="${DOCKER_REGISTRY:?DOCKER_REGISTRY not set in env.conf}"
|
REGISTRY="${DOCKER_REGISTRY:?DOCKER_REGISTRY not set in env.conf}"
|
||||||
IMAGE="${DOCKER_IMAGE_NAME:?DOCKER_IMAGE_NAME not set in env.conf}"
|
IMAGE="${DOCKER_IMAGE_NAME:?DOCKER_IMAGE_NAME not set in env.conf}"
|
||||||
@@ -62,6 +63,12 @@ jobs:
|
|||||||
docker tag "${DOCKER_IMAGE_NAME}:${VERSION}" "$FULL_IMAGE"
|
docker tag "${DOCKER_IMAGE_NAME}:${VERSION}" "$FULL_IMAGE"
|
||||||
echo "$DOCKER_PASSWORD" | docker login "$REGISTRY_HOST" -u "$DOCKER_USERNAME" --password-stdin
|
echo "$DOCKER_PASSWORD" | docker login "$REGISTRY_HOST" -u "$DOCKER_USERNAME" --password-stdin
|
||||||
docker push "$FULL_IMAGE"
|
docker push "$FULL_IMAGE"
|
||||||
|
|
||||||
|
FULL_LATEST="${REGISTRY}/${IMAGE}:latest"
|
||||||
|
echo "Pushing ${FULL_LATEST} ..."
|
||||||
|
docker tag "${DOCKER_IMAGE_NAME}:latest" "$FULL_LATEST"
|
||||||
|
docker push "$FULL_LATEST"
|
||||||
|
|
||||||
docker logout "$REGISTRY_HOST"
|
docker logout "$REGISTRY_HOST"
|
||||||
|
|
||||||
- name: Report status SUCCESS
|
- name: Report status SUCCESS
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ jobs:
|
|||||||
docker run --rm \
|
docker run --rm \
|
||||||
-v bats-workspace:/data \
|
-v bats-workspace:/data \
|
||||||
--entrypoint bash ${{ inputs.bats-image }} \
|
--entrypoint bash ${{ inputs.bats-image }} \
|
||||||
-c 'apk add -q lsof python3 jq curl ruby && cd /data && gem install bashcov -v 3.3.0 2>&1 | tail -1 && bashcov -- bats tests/' \
|
-c 'cd /data && bashcov -- bats tests/' \
|
||||||
> "reports/${GITHUB_SHA:0:8}/bats/results.txt" 2>&1
|
> "reports/${GITHUB_SHA:0:8}/bats/results.txt" 2>&1
|
||||||
BATS_EXIT=$?
|
BATS_EXIT=$?
|
||||||
bash .ci/.gitea/scripts/bats-coverage.sh bats-workspace "reports/${GITHUB_SHA:0:8}/bats"
|
bash .ci/.gitea/scripts/bats-coverage.sh bats-workspace "reports/${GITHUB_SHA:0:8}/bats"
|
||||||
|
|||||||
@@ -36,8 +36,6 @@ jobs:
|
|||||||
id: cucumber-tests
|
id: cucumber-tests
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
apt-get update -qq && apt-get install -y -qq --no-install-recommends lsof jq
|
|
||||||
npm install @cucumber/cucumber > /dev/null 2>&1
|
|
||||||
mkdir -p "reports/${GITHUB_SHA:0:8}/cucumber"
|
mkdir -p "reports/${GITHUB_SHA:0:8}/cucumber"
|
||||||
set +e
|
set +e
|
||||||
npx cucumber-js \
|
npx cucumber-js \
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ jobs:
|
|||||||
secrets: inherit
|
secrets: inherit
|
||||||
with:
|
with:
|
||||||
env_json: ${{ needs.load-config.outputs.env_json }}
|
env_json: ${{ needs.load-config.outputs.env_json }}
|
||||||
bats-image: bats/bats:latest
|
bats-image: gitea.app.keskikuja.site/niko/ci-bats:latest
|
||||||
|
|
||||||
cucumber:
|
cucumber:
|
||||||
name: Cucumber tests
|
name: Cucumber tests
|
||||||
@@ -29,7 +29,7 @@ jobs:
|
|||||||
secrets: inherit
|
secrets: inherit
|
||||||
with:
|
with:
|
||||||
env_json: ${{ needs.load-config.outputs.env_json }}
|
env_json: ${{ needs.load-config.outputs.env_json }}
|
||||||
cucumber-node-image: node:22
|
cucumber-node-image: gitea.app.keskikuja.site/niko/ci-cucumber:latest
|
||||||
|
|
||||||
report-summary:
|
report-summary:
|
||||||
name: Report Summary
|
name: Report Summary
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ jobs:
|
|||||||
secrets: inherit
|
secrets: inherit
|
||||||
with:
|
with:
|
||||||
env_json: ${{ needs.load-config.outputs.env_json }}
|
env_json: ${{ needs.load-config.outputs.env_json }}
|
||||||
bats-image: bats/bats:latest
|
bats-image: gitea.app.keskikuja.site/niko/ci-bats:latest
|
||||||
|
|
||||||
cucumber:
|
cucumber:
|
||||||
name: Cucumber tests
|
name: Cucumber tests
|
||||||
@@ -39,7 +39,7 @@ jobs:
|
|||||||
secrets: inherit
|
secrets: inherit
|
||||||
with:
|
with:
|
||||||
env_json: ${{ needs.load-config.outputs.env_json }}
|
env_json: ${{ needs.load-config.outputs.env_json }}
|
||||||
cucumber-node-image: node:22
|
cucumber-node-image: gitea.app.keskikuja.site/niko/ci-cucumber:latest
|
||||||
|
|
||||||
build-push:
|
build-push:
|
||||||
name: Build & Push Docker
|
name: Build & Push Docker
|
||||||
|
|||||||
@@ -7,3 +7,4 @@ tmp/
|
|||||||
coverage/
|
coverage/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
reports/
|
reports/
|
||||||
|
.vscode/
|
||||||
|
|||||||
@@ -4,3 +4,4 @@ RUN apt-get update -qq && \
|
|||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf /var/lib/apt/lists/* && \
|
rm -rf /var/lib/apt/lists/* && \
|
||||||
npm install -g @cucumber/cucumber
|
npm install -g @cucumber/cucumber
|
||||||
|
ENV NODE_PATH=/usr/local/lib/node_modules
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ const PROJECT_ROOT = path.resolve(__dirname, '..', '..', '..');
|
|||||||
const MOCK_SCRIPT = path.join(PROJECT_ROOT, 'tests', 'helpers', 'mock-api.sh');
|
const MOCK_SCRIPT = path.join(PROJECT_ROOT, 'tests', 'helpers', 'mock-api.sh');
|
||||||
|
|
||||||
Before({ tags: '@mock' }, function () {
|
Before({ tags: '@mock' }, function () {
|
||||||
const out = execSync(`bash -c 'source "${MOCK_SCRIPT}" && mock_start && sleep 0.3 && curl -s -o /dev/null -w "%{http_code}" --max-time 3 http://localhost:18080/api/v1/repos/health/check'`, {
|
const out = execSync(`bash -c 'source "${MOCK_SCRIPT}" && mock_start && sleep 1 && curl -s -o /dev/null -w "%{http_code}" --max-time 3 http://localhost:18080/api/v1/repos/health/check'`, {
|
||||||
cwd: PROJECT_ROOT,
|
cwd: PROJECT_ROOT,
|
||||||
encoding: 'utf-8',
|
encoding: 'utf-8',
|
||||||
stdio: ['pipe', 'pipe', 'pipe'],
|
stdio: ['pipe', 'pipe', 'pipe'],
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ mock_start() {
|
|||||||
nohup python3 "$(dirname "${BASH_SOURCE[0]}")/mock-server.py" "$MOCK_PORT" "$MOCK_CONFIG_FILE" "$MOCK_REQUEST_FILE" \
|
nohup python3 "$(dirname "${BASH_SOURCE[0]}")/mock-server.py" "$MOCK_PORT" "$MOCK_CONFIG_FILE" "$MOCK_REQUEST_FILE" \
|
||||||
</dev/null >/dev/null 2>&1 &
|
</dev/null >/dev/null 2>&1 &
|
||||||
MOCK_PID=$!
|
MOCK_PID=$!
|
||||||
sleep 0.5
|
sleep 1
|
||||||
}
|
}
|
||||||
|
|
||||||
mock_stop() {
|
mock_stop() {
|
||||||
|
|||||||
Reference in New Issue
Block a user