build-espressif-ide-installer #49
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: build-espressif-ide-installer | |
on: | |
workflow_dispatch: | |
inputs: | |
espressif_ide_version: | |
description: 'Espressif IDE version' | |
required: true | |
default: '2.9.1' | |
esp_idf_version: | |
description: 'ESP-IDF version' | |
required: true | |
default: '5.0.1' | |
python_version: | |
description: 'Python version' | |
required: true | |
default: '3.11' | |
jobs: | |
build-espressif-ide-installer: | |
name: Build Installer | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Inputs Logged | |
run: | | |
echo "Received Espressif IDE Version: ${{ github.event.inputs.espressif_ide_version }}" | |
echo "Received ESP-IDF Version: ${{ github.event.inputs.esp_idf_version }}" | |
echo "Received Python Version: ${{ github.event.inputs.python_version }}" | |
- name: Map local long path to new drive | |
id: map_path | |
shell: pwsh | |
run: subst "p:" "$env:GITHUB_WORKSPACE" | |
- name: Install Inno Setup | |
shell: pwsh | |
run: choco install innosetup | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '${{ github.event.inputs.python_version }}' | |
- name: Install Inno Setup Download plugin | |
shell: pwsh | |
run: Invoke-WebRequest -Uri https://github.com/espressif/inno-download-plugin/releases/download/v1.5.1/idpsetup-1.5.1.exe -OutFile idpsetup.exe; .\idpsetup.exe /SILENT; Sleep 5 | |
- name: Build Installer | |
env: | |
CERTIFICATE: ${{ secrets.CERTIFICATE }} | |
CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }} | |
shell: pwsh | |
working-directory: "P:" | |
run: .\Build-Installer.ps1 -InstallerType espressif-ide -OfflineBranch "v${{ github.event.inputs.esp_idf_version }}" -EspressifIdeVersion "${{ github.event.inputs.espressif_ide_version }}" | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: espressif-ide-${{ github.event.inputs.espressif_ide_version }}-esp-idf-${{ github.event.inputs.esp_idf_version }} | |
release_name: Release of Espressif IDE ${{ github.event.inputs.espressif_ide_version }} with ESP-IDF ${{ github.event.inputs.esp_idf_version }} | |
draft: true | |
prerelease: true | |
- name: Upload Release Asset To Github | |
id: upload-release-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./build/espressif-ide-setup-espressif-ide-with-esp-idf-${{ github.event.inputs.esp_idf_version }}-signed.exe | |
asset_name: espressif-ide-setup-${{ github.event.inputs.espressif_ide_version }}-with-esp-idf-${{ github.event.inputs.esp_idf_version }}.exe | |
asset_content_type: application/octet-stream | |
- name: Upload Release Asset To dl.espressif.com | |
id: upload-release-asset-espressif | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} | |
shell: pwsh | |
run: aws s3 cp --acl=public-read --no-progress ./build/espressif-ide-setup-espressif-ide-with-esp-idf-${{ github.event.inputs.esp_idf_version }}-signed.exe s3://${{ secrets.DL_BUCKET }}/dl/idf-installer/espressif-ide-setup-${{ github.event.inputs.espressif_ide_version }}-with-esp-idf-${{ github.event.inputs.esp_idf_version }}.exe |