Skip to content

Commit

Permalink
feat: add base
Browse files Browse the repository at this point in the history
  • Loading branch information
euskadi31 committed Mar 11, 2024
1 parent 293c080 commit e245ab5
Show file tree
Hide file tree
Showing 6 changed files with 543 additions and 80 deletions.
212 changes: 132 additions & 80 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,95 +2,147 @@ name: Go

on:
push:
branches: [ master ]
branches: [master]
pull_request:
branches: [ master ]
branches: [master]

jobs:

build:
name: Build
runs-on: ubuntu-latest
steps:

- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ^1.17
id: go

- name: Check out code into the Go module directory
uses: actions/checkout@v2

- name: Build
run: go build -race -v ./...

- name: Test
run: go test -race -cover -coverprofile ./coverage.out ./...

- name: Coverage
id: coverage
run: |
go tool cover -func ./coverage.out | tee -a coverage.txt
echo "COVERAGE_CONTENT<<EOF" >> $GITHUB_ENV
cat coverage.txt >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- uses: actions/github-script@v4
if: github.event_name == 'pull_request'
env:
COVERAGE_CONTENT: "${{ env.COVERAGE_CONTENT }}"
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const output = `Code Coverage\n
\`\`\`\n
${process.env.COVERAGE_CONTENT}
\`\`\`
*Pusher: @${{ github.actor }}, Action: \`${{ github.event_name }}\`, Workflow: \`${{ github.workflow }}\`*`;
const response = await github.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
});
var comments = response.data;
console.log(comments);
if (comments.length > 0) {
comments = comments.filter(comment => comment.body.includes('Code Coverage') && comment.user.type === 'Bot');
}
if (comments.length > 0) {
const comment = comments.shift();
github.issues.updateComment({
issue_number: context.issue.number,
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ^1.17
id: go

- name: Check out code into the Go module directory
uses: actions/checkout@v2

- name: Build
run: go build -race -v ./...

- name: Test
run: go test -race -cover -coverprofile ./coverage.out ./...

- name: Coverage
id: coverage
run: |
go tool cover -func ./coverage.out | tee -a coverage.txt
echo "COVERAGE_CONTENT<<EOF" >> $GITHUB_ENV
cat coverage.txt >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- uses: actions/github-script@v4
if: github.event_name == 'pull_request'
env:
COVERAGE_CONTENT: "${{ env.COVERAGE_CONTENT }}"
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const output = `Code Coverage\n
\`\`\`\n
${process.env.COVERAGE_CONTENT}
\`\`\`
*Pusher: @${{ github.actor }}, Action: \`${{ github.event_name }}\`, Workflow: \`${{ github.workflow }}\`*`;
const response = await github.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: comment.id,
body: output
})
} else {
github.issues.createComment({
issue_number: context.issue.number,
});
var comments = response.data;
console.log(comments);
if (comments.length > 0) {
comments = comments.filter(comment => comment.body.includes('Code Coverage') && comment.user.type === 'Bot');
}
if (comments.length > 0) {
const comment = comments.shift();
github.issues.updateComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: comment.id,
body: output
})
} else {
github.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: output
})
}
- name: Benchmark
id: benchmark
run: |
go test -benchmem -bench . | tee -a benchmark.txt
echo "BENCHMARK_CONTENT<<EOF" >> $GITHUB_ENV
cat benchmark.txt >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- uses: actions/github-script@v4
if: github.event_name == 'pull_request'
env:
BENCHMARK_CONTENT: "${{ env.BENCHMARK_CONTENT }}"
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const output = `Benchmark\n
\`\`\`\n
${process.env.BENCHMARK_CONTENT}
\`\`\`
*Pusher: @${{ github.actor }}, Action: \`${{ github.event_name }}\`, Workflow: \`${{ github.workflow }}\`*`;
const response = await github.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
body: output
})
}
- name: Run golangci-lint
uses: golangci/golangci-lint-action@v2
with:
version: v1.41.1
skip-pkg-cache: true

- name: Coveralls
uses: shogo82148/actions-goveralls@v1
with:
path-to-profile: coverage.out
issue_number: context.issue.number,
});
var comments = response.data;
console.log(comments);
if (comments.length > 0) {
comments = comments.filter(comment => comment.body.includes('Benchmark') && comment.user.type === 'Bot');
}
if (comments.length > 0) {
const comment = comments.shift();
github.issues.updateComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: comment.id,
body: output
})
} else {
github.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: output
})
}
- name: Run golangci-lint
uses: golangci/golangci-lint-action@v2
with:
version: v1.55.2
skip-pkg-cache: true

- name: Coveralls
uses: shogo82148/actions-goveralls@v1
with:
path-to-profile: coverage.out
1 change: 1 addition & 0 deletions .vscode/configurationCache.log
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"buildTargets":[".PHONY","all","clean","cover","coverage.out","lint","release","test","travis"],"launchTargets":[],"customConfigurationProvider":{"workspaceBrowse":{"browsePath":[],"compilerArgs":[]},"fileIndex":[]}}
13 changes: 13 additions & 0 deletions .vscode/dryrun.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
make --dry-run --always-make --keep-going --print-directory
make: Entering directory `/Users/euskadi31/Projects/Github/hyperscale-stack/inputfilter'
echo "Release v"
git pull
git checkout master
git pull
git checkout develop
git flow release start
git flow release finish -p -m "Release v"
git checkout develop
echo "Release v finished."
make: Leaving directory `/Users/euskadi31/Projects/Github/hyperscale-stack/inputfilter'

3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"makefile.extensionOutputFolder": "./.vscode"
}
Loading

0 comments on commit e245ab5

Please sign in to comment.