Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
64d8db8
Add github-workflows, rename go module
gaby Sep 15, 2024
e15a0a6
Delete .github/workflows/issues.yml
gaby Sep 15, 2024
9ea6d85
Replace deprecated function
gaby Sep 15, 2024
a3bbfab
Merge pull request #1 from gofiber/update
gaby Sep 15, 2024
e2790a4
decoder: add benchmark cases
efectn Sep 30, 2024
a381689
use full match instead of strings.HasPrefix
efectn Sep 30, 2024
c05f267
Bump codecov/codecov-action from 4.5.0 to 4.6.0
dependabot[bot] Oct 1, 2024
9764af9
add release.yml
Oct 9, 2024
dde0765
Merge pull request #3 from gofiber/dependabot/github_actions/codecov/…
ReneWerner87 Oct 9, 2024
7f57140
Bump benchmark-action/github-action-benchmark from 1.20.3 to 1.20.4
dependabot[bot] Oct 23, 2024
8ed48ec
Update decoder_test.go
gaby Oct 27, 2024
949b35e
Merge pull request #4 from gofiber/dependabot/github_actions/benchmar…
gaby Oct 27, 2024
05ca115
Bump codecov/codecov-action from 4.6.0 to 5.0.3
dependabot[bot] Nov 19, 2024
50a5ebd
Merge pull request #7 from gofiber/dependabot/github_actions/codecov/…
gaby Nov 20, 2024
986d316
Bump codecov/codecov-action from 5.0.3 to 5.0.6
dependabot[bot] Nov 20, 2024
5bae529
Merge pull request #8 from gofiber/dependabot/github_actions/codecov/…
ReneWerner87 Nov 21, 2024
5a84715
Bump codecov/codecov-action from 5.0.6 to 5.0.7
dependabot[bot] Nov 21, 2024
05a8aa1
Merge pull request #9 from gofiber/dependabot/github_actions/codecov/…
ReneWerner87 Nov 21, 2024
d33f7fe
Update LICENSE
ReneWerner87 Nov 29, 2024
376125c
Revert "Update LICENSE"
Nov 29, 2024
4b4f50c
Bump codecov/codecov-action from 5.0.7 to 5.1.1
dependabot[bot] Dec 5, 2024
6ea0d44
Merge pull request #10 from gofiber/dependabot/github_actions/codecov…
gaby Dec 17, 2024
8ef9628
Bump codecov/codecov-action from 5.1.1 to 5.1.2
dependabot[bot] Dec 18, 2024
326db53
Merge pull request #11 from gofiber/dependabot/github_actions/codecov…
gaby Dec 19, 2024
b35069a
Add more tests and benchmarks
gaby Jan 1, 2025
71a7ddd
Merge pull request #12 from gofiber/updates
gaby Jan 1, 2025
f21bf16
Update benchmarks
gaby Jan 2, 2025
93b1ea5
Merge pull request #13 from gofiber/update-benchmarks
gaby Jan 2, 2025
ccdc73c
Bump codecov/codecov-action from 5.1.2 to 5.3.1
dependabot[bot] Jan 24, 2025
f00d979
Merge pull request #16 from gofiber/dependabot/github_actions/codecov…
gaby Jan 26, 2025
cf1bef5
schema: add support for multipart files
efectn Feb 11, 2025
e79bef7
schema: add more test and benchmark cases for multipart file handling
efectn Feb 12, 2025
34c1119
schema: fix linter
efectn Feb 12, 2025
9a2749c
Merge pull request #17 from gofiber/multipart-support
ReneWerner87 Feb 13, 2025
7f9141d
Bump codecov/codecov-action from 5.3.1 to 5.4.0
dependabot[bot] Feb 27, 2025
2340fa2
Merge pull request #18 from gofiber/dependabot/github_actions/codecov…
gaby Mar 29, 2025
95db9dd
Bump codecov/codecov-action from 5.4.0 to 5.4.3
dependabot[bot] May 15, 2025
62a3dab
Fix default tag parsing for values with colons
gaby May 18, 2025
2cb2c2c
Update cache.go
gaby May 18, 2025
8bc42dd
Update test.yml
gaby May 18, 2025
4c04aa0
Update cache.go
gaby May 18, 2025
a460b99
Merge pull request #22 from gofiber/dependabot/github_actions/codecov…
gaby May 18, 2025
1408e22
Add new logic
gaby May 18, 2025
7bc872e
Merge branch 'main' into codex/find-and-fix-a-bug
gaby May 18, 2025
c087795
Apply suggestions from code review
ReneWerner87 May 18, 2025
d1d1d97
Merge pull request #23 from gofiber/codex/find-and-fix-a-bug
ReneWerner87 May 18, 2025
b7fe30a
🚀 Handle schema decoder panics
ReneWerner87 May 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @gofiber/maintainers
16 changes: 16 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "gomod"
directory: "/" # Location of package manifests
labels:
- "🤖 Dependencies"
schedule:
interval: "daily"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: daily
labels:
- "🤖 Dependencies"
26 changes: 26 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# .github/release.yml

changelog:
categories:
- title: '❗ Breaking Changes'
labels:
- '❗ BreakingChange'
- title: '🚀 New Features'
labels:
- '✏️ Feature'
- '📝 Proposal'
- title: '🧹 Updates'
labels:
- '🧹 Updates'
- title: '🐛 Bug Fixes'
labels:
- '☢️ Bug'
- title: '🛠️ Maintenance'
labels:
- '🤖 Dependencies'
- title: '📚 Documentation'
labels:
- '📒 Documentation'
- title: 'Other Changes'
labels:
- '*'
111 changes: 111 additions & 0 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
on:
push:
branches:
- master
- main
paths-ignore:
- "**/*.md"
pull_request:
paths-ignore:
- "**/*.md"

permissions:
# deployments permission to deploy GitHub pages website
deployments: write
# contents permission to update benchmark contents in gh-pages branch
contents: write
# allow posting comments to pull request
pull-requests: write

name: Benchmark
jobs:
Compare:
runs-on: ubuntu-latest
steps:
- name: Fetch Repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # to be able to retrieve the last commit in main

- name: Install Go
uses: actions/setup-go@v5
with:
# NOTE: Keep this in sync with the version from go.mod
go-version: "1.22.x"

- name: Run Benchmark
run: set -o pipefail; go test ./... -benchmem -run=^$ -bench . | tee output.txt

# NOTE: Benchmarks could change with different CPU types
- name: Get GitHub Runner System Information
uses: kenchan0130/actions-system-info@v1.3.0
id: system-info

- name: Get Main branch SHA
id: get-main-branch-sha
run: |
SHA=$(git rev-parse origin/main)
echo "sha=$SHA" >> $GITHUB_OUTPUT

- name: Get Benchmark Results from main branch
id: cache
uses: actions/cache/restore@v4
with:
path: ./cache
key: ${{ steps.get-main-branch-sha.outputs.sha }}-${{ runner.os }}-${{ steps.system-info.outputs.cpu-model }}-benchmark

# This will only run if we have Benchmark Results from main branch
- name: Compare PR Benchmark Results with main branch
uses: benchmark-action/github-action-benchmark@v1.20.4
if: steps.cache.outputs.cache-hit == 'true'
with:
tool: 'go'
output-file-path: output.txt
external-data-json-path: ./cache/benchmark-data.json
# Do not save the data (This allows comparing benchmarks)
save-data-file: false
fail-on-alert: true
# Comment on the PR if the branch is not a fork
comment-on-alert: ${{ github.event.pull_request.head.repo.fork == false }}
github-token: ${{ secrets.GITHUB_TOKEN }}
summary-always: true
alert-threshold: "150%"

- name: Store Benchmark Results for main branch
uses: benchmark-action/github-action-benchmark@v1.20.4
if: ${{ github.ref_name == 'main' }}
with:
tool: 'go'
output-file-path: output.txt
external-data-json-path: ./cache/benchmark-data.json
# Save the data to external file (cache)
save-data-file: true
fail-on-alert: false
github-token: ${{ secrets.GITHUB_TOKEN }}
summary-always: true
alert-threshold: "150%"

- name: Publish Benchmark Results to GitHub Pages
uses: benchmark-action/github-action-benchmark@v1.20.4
if: ${{ github.ref_name == 'main' }}
with:
tool: 'go'
output-file-path: output.txt
benchmark-data-dir-path: "benchmarks"
fail-on-alert: false
github-token: ${{ secrets.GITHUB_TOKEN }}
comment-on-alert: true
summary-always: true
# Save the data to external file (GitHub Pages)
save-data-file: true
alert-threshold: "150%"
# TODO: reactivate it later -> when v3 is the stable one
#auto-push: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
auto-push: false

- name: Update Benchmark Results cache
uses: actions/cache/save@v4
if: ${{ github.ref_name == 'main' }}
with:
path: ./cache
key: ${{ steps.get-main-branch-sha.outputs.sha }}-${{ runner.os }}-${{ steps.system-info.outputs.cpu-model }}-benchmark
21 changes: 0 additions & 21 deletions .github/workflows/issues.yml

This file was deleted.

40 changes: 40 additions & 0 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Adapted from https://github.com/golangci/golangci-lint-action/blob/b56f6f529003f1c81d4d759be6bd5f10bf9a0fa0/README.md#how-to-use

name: golangci-lint
on:
push:
branches:
- master
- main
paths-ignore:
- "**/*.md"
pull_request:
paths-ignore:
- "**/*.md"

permissions:
# Required: allow read access to the content for analysis.
contents: read
# Optional: allow read access to pull request. Use with `only-new-issues` option.
pull-requests: read
# Optional: Allow write access to checks to allow the action to annotate code in the PR.
checks: write

jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-go@v5
with:
# NOTE: Keep this in sync with the version from go.mod
go-version: "1.22.x"
cache: false

- name: golangci-lint
uses: golangci/golangci-lint-action@v6
with:
# NOTE: Keep this in sync with the version from .golangci.yml
version: v1.62.2
37 changes: 0 additions & 37 deletions .github/workflows/security.yml

This file was deleted.

57 changes: 38 additions & 19 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,54 @@
name: Test

on:
push:
branches:
- master
- main
paths-ignore:
- "**/*.md"
pull_request:
branches:
- main
permissions:
contents: read
paths-ignore:
- "**/*.md"

jobs:
unit:
strategy:
matrix:
go: ['1.20','1.21']
os: [ubuntu-latest, macos-latest, windows-latest]
fail-fast: true
runs-on: ${{ matrix.os }}
go-version: [1.22.x, 1.23.x, 1.24.x]
platform: [ubuntu-latest, windows-latest, macos-latest, macos-13]
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Fetch Repository
uses: actions/checkout@v4

- name: Setup Go ${{ matrix.go }}
uses: actions/setup-go@v4
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
cache: false
go-version: ${{ matrix.go-version }}

- name: Run Tests
run: go test -race -cover -coverprofile=coverage -covermode=atomic -v ./...
- name: Test
run: go run gotest.tools/gotestsum@latest -f testname -- ./... -race -count=1 -coverprofile=coverage.txt -covermode=atomic -shuffle=on

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
- name: Upload coverage reports to Codecov
if: ${{ matrix.platform == 'ubuntu-latest' && matrix.go-version == '1.23.x' }}
uses: codecov/codecov-action@v5.4.3
with:
files: ./coverage
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.txt
flags: unittests
slug: gofiber/schema

repeated:
runs-on: ubuntu-latest
steps:
- name: Fetch Repository
uses: actions/checkout@v4

- name: Install Go
uses: actions/setup-go@v5
with:
go-version: stable

- name: Test
run: go run gotest.tools/gotestsum@latest -f testname -- ./... -race -count=15 -shuffle=on
32 changes: 0 additions & 32 deletions .github/workflows/verify.yml

This file was deleted.

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
coverage.coverprofile
vendor

.idea
Loading
Loading