Compare commits

...

2 Commits

Author SHA1 Message Date
f73b7822a5 Pipeline Notification Updates (swap Discord to Mattermost) 2026-02-11 23:40:39 -03:00
c094cc29ea TJX Logo removal (legal request) (#5) (#6)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
Remove logo at request of TJX Companies

Reviewed-on: #5
Co-authored-by: mifi <badmf@mifi.dev>
Co-committed-by: mifi <badmf@mifi.dev>

Reviewed-on: #6
2026-02-11 00:59:39 +00:00
6 changed files with 128 additions and 27 deletions

View File

@@ -22,18 +22,60 @@ steps:
- pnpm run lint
- pnpm run lint:css
- name: Send Lint Status Notification (failure)
image: curlimages/curl
environment:
MATTERMOST_WEBHOOK_URL:
from_secret: mattermost_test_webhook
commands:
- |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Lint failure 💩"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$MATTERMOST_WEBHOOK_URL"
depends_on:
- lint
when:
- status: [failure]
- name: build
image: node:20-alpine
commands:
- corepack enable && corepack prepare pnpm@10.28.2 --activate
- pnpm run build
- name: test
- name: Send Test Build Status Notification (failure)
image: curlimages/curl
environment:
MATTERMOST_WEBHOOK_URL:
from_secret: mattermost_test_webhook
commands:
- |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Test build failure 💩"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$MATTERMOST_WEBHOOK_URL"
depends_on:
- build
when:
- status: [failure]
- name: unit test
image: node:20-alpine
commands:
- corepack enable && corepack prepare pnpm@10.28.2 --activate
- pnpm test
- name: Send Unit Test Status Notification (failure)
image: curlimages/curl
environment:
MATTERMOST_WEBHOOK_URL:
from_secret: mattermost_test_webhook
commands:
- |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Unit test failure 💩"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$MATTERMOST_WEBHOOK_URL"
depends_on:
- unit test
when:
- status: [failure]
- name: test e2e
image: mcr.microsoft.com/playwright:v1.58.0-noble
commands:
@@ -43,3 +85,35 @@ steps:
- npx serve dist -p 4173 &
- sleep 2
- CI=1 pnpm run test:e2e
- name: Send E2E Test Status Notification (failure)
image: curlimages/curl
environment:
MATTERMOST_WEBHOOK_URL:
from_secret: mattermost_test_webhook
commands:
- |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] E2E test failure 💩"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$MATTERMOST_WEBHOOK_URL"
depends_on:
- e2e test
when:
- status: [failure]
- name: Send CI Pipeline Status Notification (success)
image: curlimages/curl
environment:
MATTERMOST_WEBHOOK_URL:
from_secret: mattermost_test_webhook
commands:
- |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] CI pipeline success 🎉"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$MATTERMOST_WEBHOOK_URL"
depends_on:
- 'install'
- 'lint'
- 'build'
- 'unit test'
- 'e2e test'
when:
- status: [success]

View File

@@ -35,12 +35,12 @@ steps:
- name: Send Build Status Notification (success)
image: curlimages/curl
environment:
DISCORD_WEBHOOK_URL:
from_secret: discord_webhook_url
MATTERMOST_WEBHOOK_URL:
from_secret: mattermost_deploy_webhook
commands:
- |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Build success 🎉"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL"
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$MATTERMOST_WEBHOOK_URL"
depends_on:
- 'Docker image build'
when:
@@ -49,12 +49,12 @@ steps:
- name: Send Build Status Notification (failure)
image: curlimages/curl
environment:
DISCORD_WEBHOOK_URL:
from_secret: discord_webhook_url
MATTERMOST_WEBHOOK_URL:
from_secret: mattermost_deploy_webhook
commands:
- |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Build failure 💩"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL"
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$MATTERMOST_WEBHOOK_URL"
depends_on:
- Docker image build
when:
@@ -90,12 +90,12 @@ steps:
- name: Send Push Status Notification (success)
image: curlimages/curl
environment:
DISCORD_WEBHOOK_URL:
from_secret: discord_webhook_url
MATTERMOST_WEBHOOK_URL:
from_secret: mattermost_deploy_webhook
commands:
- |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Push to registry success 🎉"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL"
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$MATTERMOST_WEBHOOK_URL"
depends_on:
- 'Push to registry'
when:
@@ -104,12 +104,12 @@ steps:
- name: Send Push Status Notification (failure)
image: curlimages/curl
environment:
DISCORD_WEBHOOK_URL:
from_secret: discord_webhook_url
MATTERMOST_WEBHOOK_URL:
from_secret: mattermost_deploy_webhook
commands:
- |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Push to registry failure 💩"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL"
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$MATTERMOST_WEBHOOK_URL"
depends_on:
- 'Push to registry'
when:
@@ -138,12 +138,12 @@ steps:
- name: Send Deploy Status Notification (success)
image: curlimages/curl
environment:
DISCORD_WEBHOOK_URL:
from_secret: discord_webhook_url
MATTERMOST_WEBHOOK_URL:
from_secret: mattermost_deploy_webhook
commands:
- |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Production Deploy success 🎉"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL"
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$MATTERMOST_WEBHOOK_URL"
depends_on:
- 'Trigger Portainer stack redeploy'
when:
@@ -152,12 +152,12 @@ steps:
- name: Send Deploy Status Notification (failure)
image: curlimages/curl
environment:
DISCORD_WEBHOOK_URL:
from_secret: discord_webhook_url
MATTERMOST_WEBHOOK_URL:
from_secret: mattermost_deploy_webhook
commands:
- |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Production Deploy failure 💩"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL"
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$MATTERMOST_WEBHOOK_URL"
depends_on:
- Trigger Portainer stack redeploy
when:

View File

@@ -31,6 +31,8 @@ else
echo "Updating snapshots in the current environment (matches CI when using the devcontainer)."
echo ""
pnpm run build
# Unset CI so Playwright config starts the preview server
unset CI
pnpm exec playwright test --update-snapshots

View File

@@ -8,12 +8,10 @@
aria-labelledby="experience-heading"
>
<div class="container">
<h2 id="experience-heading" class="section-title">
Experience includes teams at:
</h2>
<h2 id="experience-heading" class="section-title">Previously at:</h2>
<div class="logo-strip" role="list" aria-label="Company logos">
{#each experienceLogos as logo (logo.alt)}
{#each experienceLogos.filter((logo) => logo.showLogo) as logo (logo.alt)}
<div class="logo-item" role="listitem">
<img
src={logo.src}

View File

@@ -1,25 +1,52 @@
export const experienceLogos = [
{ src: '/assets/logos/atlassian.svg', alt: 'Atlassian', width: 2500, height: 2500 },
{
src: '/assets/logos/atlassian.svg',
alt: 'Atlassian',
width: 2500,
height: 2500,
showLogo: true,
},
{
src: '/assets/logos/tjx.svg',
alt: 'TJ Maxx (The TJX Companies)',
width: 2500,
height: 621,
showLogo: false,
},
{
src: '/assets/logos/cargurus.svg',
alt: 'CarGurus',
width: 2500,
height: 398,
showLogo: true,
},
{
src: '/assets/logos/timberland.svg',
alt: 'Timberland',
width: 190,
height: 35,
showLogo: true,
},
{
src: '/assets/logos/vf.svg',
alt: 'VF Corporation',
width: 190,
height: 155,
showLogo: true,
},
{ src: '/assets/logos/cargurus.svg', alt: 'CarGurus', width: 2500, height: 398 },
{ src: '/assets/logos/timberland.svg', alt: 'Timberland', width: 190, height: 35 },
{ src: '/assets/logos/vf.svg', alt: 'VF Corporation', width: 190, height: 155 },
{
src: '/assets/logos/bottomline.svg',
alt: 'Bottomline Technologies',
width: 2702,
height: 571,
showLogo: true,
},
{
src: '/assets/logos/mfa-boston.svg',
alt: 'Museum of Fine Arts Boston',
width: 572,
height: 88,
showLogo: true,
},
] as const;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 583 KiB

After

Width:  |  Height:  |  Size: 577 KiB