Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FIO-7507: publish-dev-tag-to-npm #60

Merged
merged 38 commits into from
Apr 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
fad9910
Test publish step
ryanformio Mar 19, 2024
25514bf
test increment
ryanformio Mar 19, 2024
502bfc7
increment commit
ryanformio Mar 19, 2024
0fe0367
removes on push and fixing commit index
ryanformio Mar 19, 2024
b5a8113
Get commit count
ryanformio Mar 19, 2024
ad213de
test
ryanformio Mar 19, 2024
f7d5eed
test
ryanformio Mar 19, 2024
6ca8452
test
ryanformio Mar 19, 2024
8cb383c
echo branch name
ryanformio Mar 19, 2024
41dac20
show current branch
ryanformio Mar 19, 2024
335b20e
Get current branch
ryanformio Mar 19, 2024
9739d33
Do commit sha
ryanformio Mar 19, 2024
45ba41f
get commit sha
ryanformio Mar 19, 2024
b1f9c69
Get details
ryanformio Mar 19, 2024
2dd1102
Commit sha
ryanformio Mar 19, 2024
e7ac001
Shas are not mathcing up to what shows locally
ryanformio Mar 19, 2024
a34b451
Trying to get SHA correct
ryanformio Mar 19, 2024
753492f
checkout v3
ryanformio Mar 19, 2024
b84ee54
checkout v3
ryanformio Mar 19, 2024
65e7011
Add short sha to version
ryanformio Mar 19, 2024
2de4375
Fix
ryanformio Mar 19, 2024
b3ee51f
Dry run to test publish, should fail because no creds
ryanformio Mar 19, 2024
29093bf
Try settings npm creds
ryanformio Mar 19, 2024
986b506
login to npm to publish
ryanformio Mar 20, 2024
b30d58d
Remove an old step
ryanformio Mar 20, 2024
cd1cc6b
With ssh key
ryanformio Mar 20, 2024
7e07c26
try configuring pkgbot as user
ryanformio Mar 20, 2024
836a406
Cache build step for use in publish step
ryanformio Mar 21, 2024
7cd9655
Remove the checkout step
ryanformio Mar 21, 2024
3e73af8
Going to build in the publish step
ryanformio Mar 21, 2024
bdfb3b2
Merge branch 'master' into FIO-7507-publish-dev-tag-to-npm
ryanformio Mar 21, 2024
b69f529
2.0.0-rc.20-dev.60.3e73af8
ryanformio Mar 21, 2024
e81e083
Remove workspace contents checker, need to update tag=dev
ryanformio Mar 21, 2024
cf0a822
Updated command
ryanformio Mar 21, 2024
b16ec82
Merge branch 'master' into FIO-7507-publish-dev-tag-to-npm
ryanformio Mar 22, 2024
b196eba
Updated to node 20
ryanformio Mar 25, 2024
8d3c5e6
update core with FIO7848 update, was having issues on bootstrap
ryanformio Apr 3, 2024
cc824e4
Resolve conlifcts
ryanformio Apr 3, 2024
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
191 changes: 191 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
name: Build, Test, Publish

on:
pull_request:
types: [opened, synchronize]

env:
NODE_VERSION: 20.x

jobs:
setup:
runs-on: ubuntu-latest
steps:
- run: echo "Triggered by ${{ github.event_name }} event."

- name: Check out repository code ${{ github.repository }} on ${{ github.ref }}
uses: actions/checkout@v3

- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'

- name: Cache node modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-

- name: Installing dependencies
if: steps.cache.outputs.cache-hit != 'true'
uses: borales/actions-yarn@v4
with:
cmd: install --frozen-lockfile

build:
needs: setup
runs-on: ubuntu-latest
steps:
- name: Check out repository code ${{ github.repository }} on ${{ github.ref }}
uses: actions/checkout@v3

- name: Restore node modules from cache
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-

- name: Build
uses: borales/actions-yarn@v4
with:
cmd: build

test-current:
needs: setup
runs-on: ubuntu-latest
steps:
- name: Check out repository code ${{ github.repository }} on ${{ github.ref }}
uses: actions/checkout@v3

- name: Restore node modules from cache
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-

- name: Test
uses: borales/actions-yarn@v4
with:
cmd: test

test-target:
needs: setup
runs-on: ubuntu-latest
steps:
- name: Check out repository code ${{ github.repository }} on ${{ github.ref }}
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Configure Git user
run: |
git config --global user.email "[email protected]"
git config --global user.name "pkgbot"

- name: Merge target branch into current branch
run: |
git fetch origin ${{ github.event.pull_request.base.ref }}:${{ github.event.pull_request.base.ref }}
git merge ${{ github.event.pull_request.base.ref }} --no-commit --no-ff

- name: Check for merge conflicts
run: |
if ! git merge --no-commit --no-ff ${{ github.event.pull_request.base.ref }}; then
echo "Merge conflicts detected."
git merge --abort
exit 1
else
echo "Merge successful."
fi

- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'

- name: Restore node modules from cache
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-

- name: Test
uses: borales/actions-yarn@v4
with:
cmd: test

publish:
needs: [setup, test-current, test-target]
if: ${{ github.event_name == 'pull_request' && (github.event.action == 'opened' || github.event.action == 'synchronize') }}
runs-on: ubuntu-latest
steps:
- name: Check out repository code ${{ github.repository }} on ${{ github.ref }}
uses: actions/checkout@v3

- name: Configure Git user
run: |
git config --global user.email "[email protected]"
git config --global user.name "pkgbot"

- name: Add npm token to .npmrc
run: |
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc

- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
registry-url: 'https://registry.npmjs.org/'

- name: Restore node modules from cache
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-

- name: Build
uses: borales/actions-yarn@v4
with:
cmd: build

- name: Prepare version for publish
id: prep
run: |
# Extract the pull request number and the short SHA of the commit
PR_NUMBER=$(echo ${{ github.event.number }})
COMMIT_SHORT_SHA=$(echo "${{ github.event.pull_request.head.sha }}" | cut -c1-7)

# Extract the current version from package.json
CURRENT_VERSION=$(node -p "require('./package.json').version")

# If the current version includes '-rc.', remove it and everything after
# This step ensures that we start with a base version like '3.0.0' even if it was a release candidate
BASE_VERSION=$(echo "$CURRENT_VERSION" | cut -d'-' -f1)

# Construct the new version string
NEW_VERSION="${BASE_VERSION}-dev.${PR_NUMBER}.${COMMIT_SHORT_SHA}"

# Output the new version for use in subsequent GitHub Actions steps
echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV

- name: Echo version for testing
run: |
echo "Version to publish: $NEW_VERSION"

- name: Publish to npm
run: |
npm version $NEW_VERSION
yarn publish --tag dev
75 changes: 0 additions & 75 deletions .github/workflows/repo.yml

This file was deleted.

Loading