Skip to content

Commit

Permalink
realse on tag push
Browse files Browse the repository at this point in the history
  • Loading branch information
dawkaka committed Jul 16, 2024
1 parent 066e75d commit a41d7cf
Show file tree
Hide file tree
Showing 8 changed files with 201 additions and 5 deletions.
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Bug report
about: Create a report to help us improve
title: ""
labels: ""
assignees: ""
---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:

1.
2.
3.

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**

- OS: [e.g. Ubuntu 22.04, macOS 11.4]
- Node version [e.g 16.4.2]
- Code Version [e.g. 1.1.0]

**Additional context**
Add any other context about the problem here.
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: GitHub Discussions
url: https://github.com/apitoolkit/apitoolkit-express/discussions
about: Please discuss non bug-related topics there
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Feature request
about: Suggest an idea for this project
title: ""
labels: ""
assignees: ""
---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "npm" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
29 changes: 29 additions & 0 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs

name: Node.js CI

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

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- name: Install dependencies
run: npm install

- run: npm run build
- run: npm test
env:
APITOOLKIT_KEY: ${{ secrets.APITOOLKIT_KEY }}
96 changes: 96 additions & 0 deletions .github/workflows/release_package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: Release package
on:
push:
tags:
- "v*"
jobs:
release:
runs-on: ubuntu-latest
steps:
# Checkout project repository
- name: Checkout
uses: actions/checkout@v3

# Setup Node.js environment
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: "16"
registry-url: "https://registry.npmjs.org"

- name: Install dependencies
run: npm install

# Tests
- name: Run tests
run: npm test
env:
APITOOLKIT_KEY: ${{ secrets.APITOOLKIT_KEY }}

- run: npm run build

# Configure Git
- name: Git configuration
run: |
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "GitHub Actions"
# Extract version from tag
- name: Get version from tag
run: echo "NEW_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV

# Determine if it's a pre-release
- name: Check if pre-release
run: |
if [[ ${{ env.NEW_VERSION }} == *"-"* ]]; then
echo "RELEASE_TAG=beta" >> $GITHUB_ENV
else
echo "RELEASE_TAG=latest" >> $GITHUB_ENV
fi
# Bump version in package.json
- name: Bump version
run: npm version ${{ env.NEW_VERSION }} --no-git-tag-version

- name: Create and checkout temporary branch
run: |
git branch temp-branch
git checkout temp-branch
# Commit changes
- name: Commit Package.json changes
run: |
git add "package.json"
git commit -m "chore: release ${{ env.NEW_VERSION }}"
# Push repository changes
- name: Push changes to repository
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git push origin temp-branch:master
# Publish version to npm
- name: Publish
run: yarn publish --verbose --access public --tag ${{ env.RELEASE_TAG }}
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

# Read version changelog
- id: get-changelog
name: Get version changelog
uses: superfaceai/release-changelog-action@v1
with:
path-to-changelog: CHANGELOG.md
version: ${{ env.NEW_VERSION }}
operation: read

# Update GitHub release with changelog
- name: Update GitHub release documentation
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.NEW_VERSION }}
body: ${{ steps.get-changelog.outputs.changelog }}
prerelease: ${{ startsWith(github.event.inputs.release-type, 'pre') }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6 changes: 3 additions & 3 deletions lib/axios.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ function processResponse(response, urlWildcard, redactHeaderLists, redactRequest
const ATConfig = config.config;
const parent_id = undefined;
const errors = [];
const payload = buildPayload(req?.meta.startTime, req, res, reqBody, respBody, redactRequestBody, redactResponseBody, redactHeaderLists, project_id, ATConfig.serviceVersion, errors, ATConfig.tags ?? [], parent_id, urlWildcard);
const payload = buildPayload(response.config?.meta.startTime, req, res, reqBody, respBody, redactRequestBody, redactResponseBody, redactHeaderLists, project_id, ATConfig.serviceVersion, errors, ATConfig.tags ?? [], parent_id, urlWildcard);
client.publishMessage(payload);
}
else {
Expand All @@ -54,13 +54,13 @@ function processResponse(response, urlWildcard, redactHeaderLists, redactRequest
parent_id = store.get("AT_msg_id");
}
const errors = [];
const payload = buildPayload(req?.meta.startTime, req, res, reqBody, respBody, redactRequestBody, redactResponseBody, redactHeaderLists, project_id, ATConfig.serviceVersion, errors, ATConfig.tags ?? [], parent_id, urlWildcard);
const payload = buildPayload(response.config?.meta.startTime, req, res, reqBody, respBody, redactRequestBody, redactResponseBody, redactHeaderLists, project_id, ATConfig.serviceVersion, errors, ATConfig.tags ?? [], parent_id, urlWildcard);
ATClient.publishMessage(payload);
}
}
const onResponse = (urlWildcard, redactHeaderLists, redactRequestBody, redactResponseBody, notWebContext, isGlobal, client) => (response) => {
try {
if (apitoolkit_1.asyncLocalStorage.getStore() == null && !notWebContext) {
if (apitoolkit_1.asyncLocalStorage.getStore() == null && !notWebContext && !isGlobal) {
console.log("APIToolkit: observeAxios used outside of the APIToolkit middleware's scope. Use the APIToolkitClient.observeAxios instead, if you're not in a web context.");
return response;
}
Expand Down
8 changes: 6 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
{
"name": "apitoolkit-js",
"version": "3.3.1",
"version": "3.3.2",
"description": "share code for all js web framework apitoolkit sdks",
"main": "./lib",
"scripts": {
"build": "npx tsc",
"test": "jest --config jestconfig.json"
"test": "jest --config jestconfig.json",
"version": "git add -A src",
"updates": "npx npm-check-updates",
"updates:minor": "npx npm-check-updates --target minor"

},
"prepublishOnly": "npm run build",
"repository": {
Expand Down

0 comments on commit a41d7cf

Please sign in to comment.