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

chore: adding test and release (dry-run) automation to project #107

Merged
merged 16 commits into from
Mar 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 8 additions & 0 deletions .changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changesets

Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets)

We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
11 changes: 11 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
"changelog": ["@changesets/changelog-github", { "repo": "develar/app-builder" }],
"commit": false,
"fixed": [],
"linked": [],
"access": "public",
"baseBranch": "master",
"updateInternalDependencies": "patch",
"ignore": []
}
5 changes: 5 additions & 0 deletions .changeset/orange-seahorses-listen.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"app-builder-bin": major
---

changing repo structure for release automation
44 changes: 44 additions & 0 deletions .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: 'pnpm installation'
description: 'Install and audit dependencies via pnpm'
inputs:
version: # id of input
description: 'The pnpm version to use'
required: false
default: 8.9.0

runs:
using: 'composite'
steps:
- name: Setup pnpm
uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # v3.0.0
with:
version: ${{ inputs.version }}

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.21'

- name: Install go packages
run: go install && go install -a -v github.com/go-bindata/go-bindata/...@latest
shell: bash

- name: Setup node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4
with:
node-version: '18'
cache: 'pnpm'

- name: Install yarn
run: pnpm install -g yarn
shell: bash

- name: Install dependencies
run: pnpm install --frozen-lockfile
shell: bash

## Usage
# - name: install and audit
# uses: ./.github/actions/pnpm
# with:
# version: ${{ env.PNPM_VERSION }}
42 changes: 42 additions & 0 deletions .github/workflows/pr-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Release

on:
push:
branches:
- master

permissions: {}
jobs:
pr-release:
permissions:
contents: write # to create release (changesets/action)
pull-requests: write # to create pull request (changesets/action)

timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: Checkout code repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
with:
# This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits
fetch-depth: 0

- name: Install deps and audit
uses: ./.github/actions/pnpm

- name: Set up NPM credentials
run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Create versions PR & prepare publish
id: changesets
uses: changesets/action@v1
with:
version: pnpm ci:version
commit: 'chore(deploy): Release'
title: 'chore(deploy): Release'
publish: pnpm ci:publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
24 changes: 24 additions & 0 deletions .github/workflows/semantic-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: "Semantic Versioning enforcer"

on:
pull_request_target:
types:
- opened
- edited
- synchronize

permissions:
contents: read

jobs:
main:
permissions:
pull-requests: read # for amannn/action-semantic-pull-request to analyze PRs
statuses: write # for amannn/action-semantic-pull-request to mark status of analyzed PR
runs-on: ubuntu-latest
steps:
# Please look up the latest version from
# https://github.com/amannn/action-semantic-pull-request/releases
- uses: amannn/action-semantic-pull-request@e9fabac35e210fea40ca5b14c0da95a099eff26f # v5.4.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19 changes: 19 additions & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: 'Close stale issues and PR'
on:
schedule:
- cron: '0 0 * * *'

jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9
with:
stale-issue-message: 'This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days.'
stale-pr-message: 'This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days.'
close-issue-message: 'This issue was closed because it has been stalled for 30 days with no activity.'
days-before-stale: 60
days-before-close: 30
29 changes: 29 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Test

on:
push:
branches:
master
pull_request:

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

permissions:
contents: read

jobs:

build:
runs-on: ubuntu-latest # should switch to mac to run dmg test, but it's unstable atm
steps:
- uses: actions/checkout@v3

- name: Setup and install deps
uses: ./.github/actions/setup

- name: Test
run: make test

- name: Build
run: make build-all
10 changes: 5 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
dist/
vendor/

app-builder-bin/readme.md
app-builder-bin/**/app-builder*
app-builder-bin/win/**/app-builder.exe

/.idea/shelf/
node_modules/
node_modules/
mac/
win/
linux/
app-builder
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# [5.0.0](https://github.com/develar/app-builder/compare/v4.2.0...v5.0.0) (2024-03-13)



8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,17 @@ lint:
golangci-lint run

test:
cd pkg/node-modules/pnpm-demo/ && pnpm install
cd pkg/node-modules/npm-demo/ && npm install
go test -v ./pkg/...

assets:
~/go/bin/go-bindata -o ./pkg/package-format/bindata.go -pkg package_format -prefix ./pkg/package-format ./pkg/package-format/appimage/templates
~/go/bin/go-bindata -o ./pkg/package-format/snap/snapScripts.go -pkg snap -prefix ./pkg/package-format/snap ./pkg/package-format/snap/desktop-scripts

publish:
#make lint
ln -f readme.md app-builder-bin/readme.md
pnpm publish app-builder-bin
pnpm publish

update-deps:
go get -u -d
go mod tidy
go mod tidy
19 changes: 0 additions & 19 deletions app-builder-bin/package.json

This file was deleted.

File renamed without changes.
File renamed without changes.
30 changes: 30 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"name": "app-builder-bin",
"description": "app-builder precompiled binaries",
"version": "5.0.0",
"files": [
"index.js",
"mac",
"linux",
"win",
"index.d.ts"
],
"license": "MIT",
"repository": "develar/app-builder",
"keywords": [
"snap",
"appimage",
"icns"
],
"devDependencies": {
"@changesets/changelog-github": "^0.5.0",
"@changesets/cli": "^2.27.1",
"conventional-changelog-cli": "^4.1.0"
},
"scripts": {
"changeset": "changeset",
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md",
"ci:version": "pnpm changelog && changeset version && make assets && git add .",
"ci:publish": "make build-all && git add ."
}
}
3 changes: 3 additions & 0 deletions pkg/package-format/dmg/dmg_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ import (
)

func TestSize(t *testing.T) {
t.Skip("Skipping not finished test")
return

g := NewGomegaWithT(t)

log.InitLogger()
Expand Down
Loading
Loading