Skip to content

Commit cee7740

Browse files
committed
Merge branch 'master' into fix/DX-1995
2 parents fe28217 + eeabd6e commit cee7740

File tree

10 files changed

+276
-175
lines changed

10 files changed

+276
-175
lines changed

.github/workflows/issues-jira.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Create Jira Ticket for Github Issue
2+
3+
on:
4+
issues:
5+
types: [opened]
6+
7+
jobs:
8+
issue-jira:
9+
runs-on: ubuntu-latest
10+
steps:
11+
12+
- name: Login to Jira
13+
uses: atlassian/gajira-login@master
14+
env:
15+
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
16+
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
17+
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
18+
19+
- name: Create Jira Issue
20+
id: create_jira
21+
uses: atlassian/gajira-create@master
22+
with:
23+
project: ${{ secrets.JIRA_PROJECT }}
24+
issuetype: ${{ secrets.JIRA_ISSUE_TYPE }}
25+
summary: Github | Issue | ${{ github.event.repository.name }} | ${{ github.event.issue.title }}
26+
description: |
27+
*GitHub Issue:* ${{ github.event.issue.html_url }}
28+
29+
*Description:*
30+
${{ github.event.issue.body }}
31+
fields: "${{ secrets.ISSUES_JIRA_FIELDS }}"

.github/workflows/jira.yml

Lines changed: 0 additions & 33 deletions
This file was deleted.

.github/workflows/policy-scan.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Checks the security policy and configurations
2+
on:
3+
pull_request:
4+
types: [opened, synchronize, reopened]
5+
jobs:
6+
security-policy:
7+
if: github.event.repository.visibility == 'public'
8+
runs-on: ubuntu-latest
9+
defaults:
10+
run:
11+
shell: bash
12+
steps:
13+
- uses: actions/checkout@master
14+
- name: Checks for SECURITY.md policy file
15+
run: |
16+
if ! [[ -f "SECURITY.md" || -f ".github/SECURITY.md" ]]; then exit 1; fi
17+
security-license:
18+
if: github.event.repository.visibility == 'public'
19+
runs-on: ubuntu-latest
20+
defaults:
21+
run:
22+
shell: bash
23+
steps:
24+
- uses: actions/checkout@master
25+
- name: Checks for License file
26+
run: |
27+
expected_license_files=("LICENSE" "LICENSE.txt" "LICENSE.md" "License.txt")
28+
license_file_found=false
29+
current_year=$(date +"%Y")
30+
31+
for license_file in "${expected_license_files[@]}"; do
32+
if [ -f "$license_file" ]; then
33+
license_file_found=true
34+
# check the license file for the current year, if not exists, exit with error
35+
if ! grep -q "$current_year" "$license_file"; then
36+
echo "License file $license_file does not contain the current year."
37+
exit 2
38+
fi
39+
break
40+
fi
41+
done
42+
43+
if [ "$license_file_found" = false ]; then
44+
echo "No license file found. Please add a license file to the repository."
45+
exit 1
46+
fi

.github/workflows/release.yml

Lines changed: 42 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,43 +8,65 @@ jobs:
88
build:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@v2
12-
- uses: actions/setup-node@v1
11+
# Checkout the repository
12+
- name: Checkout repository
13+
uses: actions/checkout@v4
14+
15+
- name: Setup Node.js
16+
uses: actions/setup-node@v4
1317
with:
14-
node-version: "16.x"
15-
- run: npm install
18+
node-version: "22.x"
19+
20+
- name: Install dependencies
21+
run: npm install
1622

17-
- name: get-package-details
23+
- name: Get package details
1824
id: package
1925
uses: codex-team/action-nodejs-package-info@v1.1
20-
- name: install npm packall
21-
run: npm install npm-pack-all
2226

23-
- run: node node_modules/.bin/npm-pack-all
24-
- uses: Klemensas/action-autotag@stable
27+
- name: Install npm pack
28+
run: npm install npm-pack
29+
30+
- name: Pack the npm package
31+
run: npm pack
32+
33+
# Publish package to npm
34+
- name: Publish to npm
35+
id: publish_npm
36+
uses: JS-DevTools/npm-publish@v3
37+
with:
38+
token: ${{ secrets.NPM_TOKEN }}
39+
# access: public # Uncomment this line if you want to publish the package as public for first time
40+
41+
# Auto-tag new version
42+
- name: Auto-tag new version
2543
id: update_tag
44+
uses: Klemensas/action-autotag@stable
2645
with:
27-
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
46+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2847
tag_prefix: "v"
29-
- name: Create Release
30-
if: steps.update_tag.outputs.tagname
48+
49+
# Create GitHub Release
50+
- name: Create GitHub Release
51+
if: steps.update_tag.outputs.tagname != ''
3152
uses: actions/create-release@v1
3253
id: create_release
3354
env:
34-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
55+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3556
with:
3657
tag_name: ${{ steps.update_tag.outputs.tagname }}
3758
release_name: Release ${{ steps.update_tag.outputs.tagname }}
38-
draft: false # Default value, but nice to set explicitly
39-
prerelease: false # Default value, but nice to set explicitly
59+
draft: false
60+
prerelease: false
61+
62+
# Upload release asset
4063
- name: Upload Release Asset
41-
if: steps.update_tag.outputs.tagname
42-
id: upload-release-asset
64+
if: steps.update_tag.outputs.tagname != ''
4365
uses: actions/upload-release-asset@v1
4466
env:
4567
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4668
with:
47-
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing its ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
48-
asset_path: ./${{ steps.package.outputs.name }}-${{ steps.package.outputs.version }}.tgz
49-
asset_name: ${{ steps.package.outputs.name }}-${{ steps.package.outputs.version }}.tgz
69+
upload_url: ${{ steps.create_release.outputs.upload_url }}
70+
asset_path: "./contentstack-datasync-filesystem-sdk-${{ steps.package.outputs.version }}.tgz"
71+
asset_name: "contentstack-datasync-filesystem-sdk-${{ steps.package.outputs.version }}.tgz"
5072
asset_content_type: application/tgz

.github/workflows/sast-scan.yml

Lines changed: 0 additions & 11 deletions
This file was deleted.

.github/workflows/secrets-scan.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Secrets Scan
2+
on:
3+
pull_request:
4+
types: [opened, synchronize, reopened]
5+
jobs:
6+
security-secrets:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v4
10+
with:
11+
fetch-depth: '2'
12+
ref: '${{ github.event.pull_request.head.ref }}'
13+
- run: |
14+
git reset --soft HEAD~1
15+
- name: Install Talisman
16+
run: |
17+
# Download Talisman
18+
wget https://github.com/thoughtworks/talisman/releases/download/v1.37.0/talisman_linux_amd64 -O talisman
19+
20+
# Checksum verification
21+
checksum=$(sha256sum ./talisman | awk '{print $1}')
22+
if [ "$checksum" != "8e0ae8bb7b160bf10c4fa1448beb04a32a35e63505b3dddff74a092bccaaa7e4" ]; then exit 1; fi
23+
24+
# Make it executable
25+
chmod +x talisman
26+
- name: Run talisman
27+
run: |
28+
# Run Talisman with the pre-commit hook
29+
./talisman --githook pre-commit

.talismanrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
fileignoreconfig:
2+
- filename: .github/workflows/secrets-scan.yml
3+
ignore_detectors:
4+
- filecontent
25
- filename: package-lock.json
36
checksum: d86ac5add96a781c3f2df86ee68fc010168aa6cc4cbf1d1ee6d63067a0f1b3e2
47
version: ""

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Contentstack is a headless CMS with an API-first approach. It is a CMS that deve
88

99
### Prerequisite
1010

11-
- Nodejs, v8 or higher
11+
- Nodejs, v20 or higher
1212
- You should have the data synced through [Contentstack DataSync](https://www.contentstack.com/docs/guide/synchronization/contentstack-datasync)
1313

1414
### Configuration

0 commit comments

Comments
 (0)