fix version number #21
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: bitbucket_upload | |
on: | |
push: | |
branches: [ wip/build-xpi ] | |
workflow_dispatch: | |
env: | |
XPI_NAME: tabmix-dev-build | |
jobs: | |
upload: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
# fix this to main when we push this branch to main | |
ref: wip/build-xpi | |
- name: Set version in install.rdf | |
run: | | |
function next_version() { | |
local version=$(git tag --sort=-creatordate | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+' | head -n 1 | cut -c 2-) | |
if [[ $version =~ ^([0-9]+\.[0-9]+\.[0-9]+-pre\.)([0-9]+)$ ]]; then | |
local prefix=${BASH_REMATCH[1]} | |
local number=${BASH_REMATCH[2]} | |
let "number++" | |
echo "${prefix}${number}" | |
else | |
local IFS='.' | |
local -a parts=($version) | |
let "parts[-1]++" | |
echo "${parts[*]}" | |
fi | |
} | |
version=$(next_version) | |
date=$(date +'%Y%m%d.%H%M') | |
sed -i "s/1.0.0-unbundeled/$version-$date/" addon/install.rdf | |
- name: Zip addon folder | |
run: | | |
cd addon | |
zip -rq /tmp/${{ env.XPI_NAME }}.xpi * | |
# - name: Upload XPI to artifact | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: ${{ env.XPI_NAME }} | |
# path: ${{ env.XPI_NAME }}.xpi | |
# - name: Download XPI from artifact | |
# uses: actions/download-artifact@v4 | |
# with: | |
# name: ${{ env.XPI_NAME }} | |
# - name: Use Node.js | |
# uses: actions/setup-node@v4 | |
# with: | |
# node-version: '20' | |
# - name: Install dependencies | |
# run: | | |
# npm install node-fetch form-data | |
# - name: Upload dev-build to bitbucket | |
# env: | |
# BITBUCKET_ACCESS_TOKEN: ${{ secrets.BITBUCKET_ACCESS_TOKEN }} | |
# run: node ./utils/bitbucket.mjs | |
- name: Upload dev-build to bitbucket | |
run: | | |
curl --request POST \ | |
--url 'https://api.bitbucket.org/2.0/repositories/onemen/tabmixplus-for-firefox/downloads' \ | |
--header 'Authorization: Bearer ${{ secrets.BITBUCKET_ACCESS_TOKEN }}' \ | |
-F 'files=@/tmp/${{ env.XPI_NAME }}.xpi' | |
# - name: Upload dev-build to bitbucket | |
# uses: actions/github-script@v7 | |
# with: | |
# script: | | |
# try { | |
# const fs = require('fs'); | |
# const FormData = require('form-data'); | |
# const fetch = (...args) => import('node-fetch').then(({default: fetch}) => fetch(...args)); | |
# const formData = new FormData() | |
# const filePath = '${{ env.XPI_NAME }}.xpi' | |
# console.log({filePath}) | |
# const readStream = fs.createReadStream(filePath) | |
# console.log({readStream}) | |
# formData.append("files", readStream) | |
# console.log({formData}) | |
# const BITBUCKET_URL = | |
# 'https://api.bitbucket.org/2.0/repositories/onemen/tabmixplus-for-firefox/downloads' | |
# console.log({BITBUCKET_URL}) | |
# let boundary = '--------------------------' | |
# for (var i = 0; i < 24; i++) { | |
# boundary += Math.floor(Math.random() * 10).toString(16) | |
# } | |
# console.log({boundary}) | |
# const headers = new Headers({ | |
# Authorization: `Bearer ${{ secrets.BITBUCKET_ACCESS_TOKEN }}`, | |
# "Content-Type": `multipart/form-data; boundary=${boundary}`, | |
# }) | |
# console.log({headers}) | |
# const response = await fetch(BITBUCKET_URL, {method: "POST", body: formData, headers}) | |
# console.log({response}) | |
# if (response.ok) { | |
# console.log(`File ${basename(filePath)} was uploaded to bitbucket downloads page`) | |
# } else { | |
# const text = await response.text() | |
# console.log("Error uploading file:", text, response.status, response.statusText) | |
# } | |
# } catch (error) { | |
# console.log(error) | |
# } |