Skip to content

Commit

Permalink
Action for core release from tag - Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
giulcioffi committed Dec 14, 2020
1 parent 203c290 commit 75bc2ba
Show file tree
Hide file tree
Showing 3 changed files with 226 additions and 2 deletions.
74 changes: 74 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: release

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

jobs:
core-pre-release-from-tag:
runs-on: ubuntu-latest

#container:
#image: arduino/arduino-cli:builder-1
#volumes:
# cache go dependencies across pipeline's steps
# - ${{ github.workspace }}/go:/go

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Set env
run: echo "TAG_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV

- name: Test
run: |
echo $TAG_VERSION
echo ${{ env.TAG_VERSION }}
- name: Package the new core
run: |
extras/pack.release.bash $TAG_VERSION
mkdir staging
mv *.json staging/
mv *.tar.bz2 staging/
- name: Upload package_*_index.json file to Arduino downloads servers
uses: docker://plugins/s3
env:
PLUGIN_SOURCE: "staging/*.json*"
PLUGIN_TARGET: "/packages/staging/"
#PLUGIN_STRIP_PREFIX: "staging/"
PLUGIN_BUCKET: ${{ secrets.DOWNLOADS_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

- name: Upload *.tar.bz2 of new core to Arduino downloads servers
uses: docker://plugins/s3
env:
PLUGIN_SOURCE: "staging/*tar.bz2"
PLUGIN_TARGET: "/cores/staging/"
#PLUGIN_STRIP_PREFIX: "staging/"
PLUGIN_BUCKET: ${{ secrets.DOWNLOADS_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

- name: Checkout Basic examples
uses: actions/checkout@v2
with:
repository: arduino/arduino-examples
path: extras

- name: skjgs
run: |
./arduino-cli version
export ARDUINO_BOARD_MANAGER_ADDITIONAL_URLS=https://downloads.arduino.cc/packages/staging/package_new_tag_${{ env.TAG_VERSION }}_index.json
./arduino-cli config init --additional-urls https://downloads.arduino.cc/packages/package_staging_index.json
./arduino-cli config dump --verbose
./arduino-cli core update-index
./arduino-cli core download arduino:samd --additional-urls http://downloads.arduino.cc/packages/staging/package_new_tag_${VERSION}_index.json -v
./arduino-cli core install arduino:samd@${VERSION}
./arduino-cli core update-index
./arduino-cli board listall
./arduino-cli compile --fqbn arduino:samd:mkrwan1300 extras/examples/01.Basics/Blink -v
27 changes: 25 additions & 2 deletions extras/pack.release.bash
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,40 @@
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

# Version check removed because version string passed from jenkins was incorrect
VERSION_FROM_TAG=$1
echo $VERSION_FROM_TAG
VERSION=`grep version= platform.txt | sed 's/version=//g'`
echo $VERSION

if [ $VERSION != $VERSION_FROM_TAG ]; then
exit 0
fi

PWD=`pwd`
FOLDERNAME=`basename $PWD`
THIS_SCRIPT_NAME=`basename $0`
FILENAME=core-new-tag-$VERSION.tar.bz2

rm -f samd-$VERSION.tar.bz2
rm -f core-new-tag-$VERSION.tar.bz2

cd ..
tar --transform "s|$FOLDERNAME|$FOLDERNAME-$VERSION|g" --exclude=extras/** --exclude=.git* --exclude=.idea -cjf samd-$VERSION.tar.bz2 $FOLDERNAME
tar --exclude=extras/** --exclude=.git* --exclude=.idea -cjf $FILENAME $FOLDERNAME
cd -

mv ../samd-$VERSION.tar.bz2 .
mv ../$FILENAME .

CHKSUM=`sha256sum $FILENAME | awk '{ print $1 }'`
SIZE=`wc -c $FILENAME | awk '{ print $1 }'`

cat extras/package_index.json.NewTag.template |
# sed "s/%%BUILD_NUMBER%%/${BUILD_NUMBER}/" |
# sed "s/%%CURR_TIME%%/${CURR_TIME_SED}/" |
sed "s/%%VERSION%%/${VERSION}/" |
sed "s/%%FILENAME%%/${FILENAME}/" |
sed "s/%%CHECKSUM%%/${CHKSUM}/" |
sed "s/%%SIZE%%/${SIZE}/" > package_new_tag_${VERSION}_index.json

echo "${VERSION}"

127 changes: 127 additions & 0 deletions extras/package_index.json.NewTag.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
{
"packages": [
{
"name": "arduino",
"maintainer": "Arduino Betatesting",
"websiteURL": "http://www.arduino.cc/",
"email": "packages@arduino.cc",
"help": {
"online": "http://www.arduino.cc/en/Reference/HomePage"
},
"platforms": [
{
"name": "Arduino SAMD Boards (32-bits ARM Cortex-M0+) - Pre-release",
"architecture": "samd",
"version": "%%VERSION%%",
"category": "Arduino",
"help": {
"online": "http://www.arduino.cc/en/Reference/HomePage"
},
"url": "http://downloads.arduino.cc/cores/staging/%%FILENAME%%",
"archiveFileName": "%%FILENAME%%",
"checksum": "SHA-256:%%CHECKSUM%%",
"size": "%%SIZE%%",
"boards": [
{ "name": "Arduino MKR WiFi 1010" },
{ "name": "Arduino Zero" },
{ "name": "Arduino MKR1000" },
{ "name": "Arduino MKRZERO" },
{ "name": "Arduino MKR FOX 1200" },
{ "name": "Arduino MKR WAN 1300" },
{ "name": "Arduino MKR WAN 1310" },
{ "name": "Arduino MKR GSM 1400" },
{ "name": "Arduino MKR NB 1500" },
{ "name": "Arduino MKR Vidor 4000" },
{ "name": "Arduino Nano 33 IoT" },
{ "name": "Arduino M0 Pro" },
{ "name": "Arduino M0" },
{ "name": "Arduino Tian" },
{ "name": "Adafruit Circuit Playground Express" }
],
"toolsDependencies": [
{
"packager": "arduino",
"name": "arm-none-eabi-gcc",
"version": "7-2017q4"
},
{
"packager": "arduino",
"name": "bossac",
"version": "1.7.0-arduino3"
},
{
"packager": "arduino",
"name": "openocd",
"version": "0.10.0-arduino7"
},
{
"packager": "arduino",
"name": "CMSIS",
"version": "4.5.0"
},
{
"packager": "arduino",
"name": "CMSIS-Atmel",
"version": "1.2.0"
},
{
"packager": "arduino",
"name": "arduinoOTA",
"version": "1.2.1"
}
]
}
],
"tools": [
{
"name": "arm-none-eabi-gcc",
"version": "7-2017q4",
"systems": [
{
"host": "arm-linux-gnueabihf",
"url": "http://downloads.arduino.cc/tools/gcc-arm-none-eabi-7-2019-q4-major-linuxarm.tar.bz2",
"archiveFileName": "gcc-arm-none-eabi-7-2019-q4-major-linuxarm.tar.bz2",
"checksum": "SHA-256:34180943d95f759c66444a40b032f7dd9159a562670fc334f049567de140c51b",
"size": "96613739"
},
{
"host": "aarch64-linux-gnu",
"url": "http://downloads.arduino.cc/tools/gcc-arm-none-eabi-7-2018-q2-update-linuxarm64.tar.bz2",
"archiveFileName": "gcc-arm-none-eabi-7-2018-q2-update-linuxarm64.tar.bz2",
"checksum": "SHA-256:6fb5752fb4d11012bd0a1ceb93a19d0641ff7cf29d289b3e6b86b99768e66f76",
"size": "99558726"
},
{
"host": "i686-mingw32",
"url": "http://downloads.arduino.cc/tools/gcc-arm-none-eabi-7-2017-q4-major-win32-arduino1.zip",
"archiveFileName": "gcc-arm-none-eabi-7-2017-q4-major-win32-arduino1.zip",
"checksum": "SHA-256:96dd0091856f4d2eb21046eba571321feecf7d50b9c156f708b2a8b683903382",
"size": "131761924"
},
{
"host": "x86_64-apple-darwin",
"url": "http://downloads.arduino.cc/tools/gcc-arm-none-eabi-7-2017-q4-major-mac.tar.bz2",
"archiveFileName": "gcc-arm-none-eabi-7-2017-q4-major-mac.tar.bz2",
"checksum": "SHA-256:89b776c7cf0591c810b5b60067e4dc113b5b71bc50084a536e71b894a97fdccb",
"size": "104550003"
},
{
"host": "x86_64-pc-linux-gnu",
"url": "http://downloads.arduino.cc/tools/gcc-arm-none-eabi-7-2017-q4-major-linux64.tar.bz2",
"archiveFileName": "gcc-arm-none-eabi-7-2017-q4-major-linux64.tar.bz2",
"checksum": "SHA-256:96a029e2ae130a1210eaa69e309ea40463028eab18ba19c1086e4c2dafe69a6a",
"size": "99857645"
},
{
"host": "i686-pc-linux-gnu",
"url": "http://downloads.arduino.cc/tools/gcc-arm-none-eabi-7-2018-q2-update-linux32.tar.bz2",
"archiveFileName": "gcc-arm-none-eabi-7-2018-q2-update-linux32.tar.bz2",
"checksum": "SHA-256:090a0bc2b1956bc49392dff924a6c30fa57c88130097b1972204d67a45ce3cf3",
"size": "97427309"
}
]
}
]
}
]
}

0 comments on commit 75bc2ba

Please sign in to comment.