Skip to content

Commit

Permalink
Merge branch 'main' into ws-endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
dido18 committed Jan 28, 2025
2 parents 20a5bb7 + 1b94ccc commit 3e691cd
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 14 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/publish-go-tester-task.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ jobs:
#use the strategy instead because we still use the native build
strategy:
matrix:
os: [ubuntu-20.04, windows-2019, macos-12]
os: [ubuntu-20.04, windows-2019, macos-13]
arch: [-amd64]
include:
- os: windows-2019
Expand Down Expand Up @@ -130,7 +130,7 @@ jobs:
mv ${{ env.PROJECT_NAME }} ${{ env.PROJECT_NAME}}_amd64
if: runner.os == 'macOS'

- name: Build the Agent for macos amd 64
- name: Build the Agent for macos arm 64
env:
MACOSX_DEPLOYMENT_TARGET: 10.15 # minimum supported version for mac
CGO_CFLAGS: -mmacosx-version-min=10.15
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
prerelease: ${{ steps.prerelease.outputs.IS_PRE }}
strategy:
matrix:
os: [ubuntu-20.04, windows-2019, macos-12]
os: [ubuntu-20.04, windows-2019, macos-13]
arch: [amd64]
include:
- os: windows-2019
Expand Down Expand Up @@ -116,7 +116,7 @@ jobs:
run: |
task go:build
mv ${{ env.PROJECT_NAME }} ${{ env.PROJECT_NAME }}_amd64
if: matrix.os == 'macos-12'
if: matrix.os == 'macos-13'

- name: Build the Agent for macos arm64
env:
Expand All @@ -128,13 +128,13 @@ jobs:
run: |
task go:build
mv ${{ env.PROJECT_NAME }} ${{ env.PROJECT_NAME }}_arm64
if: matrix.os == 'macos-12'
if: matrix.os == 'macos-13'

- name: Create universal macos executable
run: |
lipo -create -output ${{ env.PROJECT_NAME }} ${{ env.PROJECT_NAME }}_amd64 ${{ env.PROJECT_NAME }}_arm64
rm ${{ env.PROJECT_NAME }}_amd64 ${{ env.PROJECT_NAME }}_arm64
if: matrix.os == 'macos-12'
if: matrix.os == 'macos-13'

# this will create `public/` dir with compressed full bin (<version>/<os>-<arch>.gz) and a json file
- name: Create autoupdate files
Expand All @@ -146,7 +146,7 @@ jobs:
run: |
cp darwin-amd64.json darwin-arm64.json
cp ${TAG_VERSION}/darwin-amd64.gz ${TAG_VERSION}/darwin-arm64.gz
if: matrix.os == 'macos-12' && steps.prerelease.outputs.IS_PRE != 'true'
if: matrix.os == 'macos-13' && steps.prerelease.outputs.IS_PRE != 'true'

- name: Create autoupdate files for win32
run: go-selfupdate -platform windows-${{ matrix.arch }} ${{ env.PROJECT_NAME }}${{ matrix.ext }} ${TAG_VERSION}
Expand Down Expand Up @@ -181,7 +181,7 @@ jobs:
matrix:
arch: [amd64, arm64]

runs-on: macos-12
runs-on: macos-13
env:
EXE_PATH: "skel/ArduinoCloudAgent.app/Contents/MacOS/"

Expand All @@ -195,7 +195,7 @@ jobs:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: ${{ env.PROJECT_NAME }}-macos-12-amd64 # if we want to support darwin-arm64 in the future for real this has to change.
name: ${{ env.PROJECT_NAME }}-macos-13-amd64 # if we want to support darwin-arm64 in the future for real this has to change.
path: ${{ env.EXE_PATH }}

- name: Remove placeholder file
Expand Down Expand Up @@ -252,7 +252,7 @@ jobs:
matrix:
arch: [amd64, arm64]

runs-on: macos-12
runs-on: macos-13
env:
GON_PATH: ${{ github.workspace }}/gon
needs: [build, create-macos-bundle]
Expand Down Expand Up @@ -509,7 +509,7 @@ jobs:
matrix:
arch: [amd64]

runs-on: macos-12
runs-on: macos-13
steps:
- name: Checkout repo with icons/background
uses: actions/checkout@v4
Expand Down
8 changes: 5 additions & 3 deletions serialport.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import (
"encoding/base64"
"io"
"strconv"
"sync/atomic"
"time"
"unicode/utf8"

Expand All @@ -43,7 +44,7 @@ type serport struct {

// Keep track of whether we're being actively closed
// just so we don't show scary error messages
isClosing bool
isClosing atomic.Bool

isClosingDueToError bool

Expand Down Expand Up @@ -85,7 +86,7 @@ func (p *serport) reader(buftype string) {
bufferPart := serialBuffer[:n]

//if we detect that port is closing, break out of this for{} loop.
if p.isClosing {
if p.isClosing.Load() {
strmsg := "Shutting down reader on " + p.portConf.Name
log.Println(strmsg)
h.broadcastSys <- []byte(strmsg)
Expand Down Expand Up @@ -348,7 +349,8 @@ func spHandlerOpen(portname string, baud int, buftype string) {
}

func (p *serport) Close() {
p.isClosing = true
p.isClosing.Store(true)

p.bufferwatcher.Close()
p.portIo.Close()
serialPorts.MarkPortAsClosed(p.portName)
Expand Down

0 comments on commit 3e691cd

Please sign in to comment.