Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
54390af
feat: add GitHub Actions workflow for releasing arduino-app-cli
dido18 Oct 17, 2025
e1e5431
Merge branch 'main' into add-release-branch
dido18 Oct 17, 2025
93426e1
feat: add GitHub Actions workflow for releasing arduino-app-cli
dido18 Oct 17, 2025
d371673
fix: specify task name for building deb package in release workflow
dido18 Oct 17, 2025
7b12a8d
remove unused stuff
lucarin91 Oct 17, 2025
28f8053
Revert "remove unused stuff"
lucarin91 Oct 17, 2025
7da993e
remove binary build
lucarin91 Oct 17, 2025
6b36c28
fixup! remove binary build
lucarin91 Oct 17, 2025
12c9a93
Update .github/workflows/release.yml
lucarin91 Oct 17, 2025
f396c43
Update .github/workflows/release.yml
lucarin91 Oct 17, 2025
42518b0
Update .github/workflows/release.yml
lucarin91 Oct 17, 2025
5cee889
Merge remote-tracking branch 'origin/main' into add-release-branch
lucarin91 Oct 17, 2025
4c47ffa
remove task installation
lucarin91 Oct 17, 2025
efbde80
make dprint happy
lucarin91 Oct 17, 2025
d8afdc6
add test and checks workflows
lucarin91 Oct 17, 2025
da44a83
fix test workflow
lucarin91 Oct 17, 2025
6722a14
add pr template
lucarin91 Oct 17, 2025
3c35429
fixup! add pr template
lucarin91 Oct 17, 2025
e4c245e
fix e2e tests
lucarin91 Oct 17, 2025
940112c
update notice
lucarin91 Oct 17, 2025
1309cfc
refactor: remove GO_VERSION environment variable and use go.mod for v…
dido18 Oct 20, 2025
6ac0b8a
Merge remote-tracking branch 'origin/main' into add-release-branch
lucarin91 Oct 20, 2025
3e436dd
add gitignore
lucarin91 Oct 20, 2025
162a74c
update copyright notice flow
lucarin91 Oct 20, 2025
c6a786a
fix notice
lucarin91 Oct 20, 2025
83c8ce9
remove notices from copyright
lucarin91 Oct 20, 2025
e06d2b6
remove licence check
lucarin91 Oct 20, 2025
0d30574
make fmt happy
lucarin91 Oct 20, 2025
bab9e8d
fix deb copyright
lucarin91 Oct 20, 2025
8c28032
make formatter happy
lucarin91 Oct 20, 2025
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
19 changes: 19 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
### Motivation

<!-- Why this pull request? -->

### Change description

<!-- What does your code do? -->

### Additional Notes

<!-- Link any useful metadata: Jira task, GitHub issue, ... -->

### Reviewer checklist

- [ ] PR addresses a single concern.
- [ ] PR title and description are properly filled.
- [ ] Changes will be merged in `main`.
- [ ] Changes are covered by tests.
- [ ] Logging is meaningful in case of troubleshooting.
20 changes: 20 additions & 0 deletions .github/workflows/block-merge-label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Block Merge if "do-not-merge" Label Exists

on:
pull_request:
types:
- opened
- labeled
- unlabeled
- synchronize # important for when new commits are pushed

jobs:
check-do-not-merge-label:
runs-on: ubuntu-latest
steps:
- name: Check for "do-not-merge" label
if: contains(github.event.pull_request.labels.*.name, 'do-not-merge')
run: |
echo "This Pull Request has the 'do-not-merge' label. Merging is blocked."
echo "Please remove the 'do-not-merge' label to enable merging."
exit 1 # This will cause the workflow to fail
38 changes: 38 additions & 0 deletions .github/workflows/checks.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Run Checks

on:
push:
branches: [main]
pull_request:
branches: [main]

# In the same branch only 1 workflow per time can run. In case we're not in the
# main branch we cancel previous running workflow
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

permissions:
contents: read
# Used by the buf to create a comment with a brief summary of failing tets
pull-requests: write

jobs:
run-checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: dprint/check@v2.2
with:
dprint-version: 0.48.0

- uses: golangci/golangci-lint-action@v8
with:
version: v2.4.0
args: --timeout 300s

- name: Check go mod
run: |
go mod tidy
git diff --color --exit-code
51 changes: 51 additions & 0 deletions .github/workflows/go-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Run Go Tests

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
go-test-internal:
runs-on: ubuntu-latest
steps:
- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install -y android-tools-adb

- name: Checkout code
uses: actions/checkout@v3

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod

- name: Run `internal` tests
run: go tool task test:internal

go-test-pkg:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]

steps:
- name: install dependencies [Linux]
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y android-tools-adb

- name: Checkout code
uses: actions/checkout@v3

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod

- name: Run `pkg` tests
run: go tool task test:pkg
53 changes: 53 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Release arduino-app-cli

on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+*"

env:
PROJECT_NAME: "arduino-app-cli"
GITHUB_TOKEN: ${{ secrets.ARDUINOBOT_TOKEN }}
GITHUB_USERNAME: ArduinoBot

jobs:
build:
strategy:
matrix:
os: [ubuntu-22.04]
arch: [amd64, arm64]

runs-on: ${{ matrix.os }}

steps:
- name: Set env vars
run: |
echo "TAG_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
echo "creating tag ${TAG_VERSION}"

- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Configure Git for private repo cloning
run: |
git config --global url."https://${{ env.GITHUB_USERNAME }}:${{ env.GITHUB_TOKEN }}@github.com".insteadOf "https://github.com"

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod

- name: Build deb
run: |
go tool task build-deb VERSION=${TAG_VERSION} ARCH=${{ matrix.arch }} RELEASE="true"

- name: Create Github Release and upload artifacts
uses: ncipollo/release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
draft: false
prerelease: true
artifacts: build/*.deb
allowUpdates: true
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,7 @@ build/

/arduino-app-cli
/apps
# temporary staging directories

# debian packaging files
/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/examples
/debian/arduino-app-cli/usr/share/doc/arduino-app-cli/copyright
1 change: 0 additions & 1 deletion .licensed.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ cache_path: .licenses
apps:
- source_path: ./cmd/arduino-app-cli


reviewed:
go:
# TODO: remove it after releasing this https://github.com/arduino/go-win32-utils/pull/10
Expand Down
Loading