Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH: Sign Windows binary inplace #183

Merged
merged 8 commits into from
Apr 6, 2023
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
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
7 changes: 4 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -242,19 +242,18 @@ jobs:
name: ${{ env.MNE_INSTALLER_ARTIFACT_ID }}
- name: EV-code sign installer (Windows)
if: github.event_name != 'pull_request'
uses: sslcom/actions-codesigner@develop
uses: sslcom/esigner-codesign@develop
with:
command: sign
username: ${{ secrets.ES_USERNAME }}
password: ${{ secrets.ES_PASSWORD }}
credential_id: ${{ secrets.ES_CREDENTIAL_ID }}
totp_secret: ${{ secrets.ES_TOTP_SECRET }}
file_path: ${GITHUB_WORKSPACE}/${{ env.MNE_INSTALLER_NAME }}
output_path: ${GITHUB_WORKSPACE}/signed
override: true
- name: Calculate new SHA256 hash of installer package
if: github.event_name != 'pull_request'
run: |
mv signed/${MNE_INSTALLER_NAME} .
shopt -s nullglob # Fail if the following pattern yields no results
echo "Finding matches"
matches=(MNE-Python-*-*.*)
Expand All @@ -266,9 +265,11 @@ jobs:
hash_fname="${MNE_INSTALLER_NAME}.sha256.txt"
echo "Old hash:"
cat "$hash_fname"
OLD_HASH="$(cat $hash_fname)"
shasum -a 256 "$MNE_INSTALLER_NAME" > "$hash_fname"
echo "New hash:"
cat "$hash_fname"
test "$(cat $hash_fname)" != "$OLD_HASH"
- name: Overwrite artifacts
if: github.event_name != 'pull_request'
uses: actions/upload-artifact@v3
Expand Down
2 changes: 1 addition & 1 deletion assets/current_version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.3
1.4
143 changes: 143 additions & 0 deletions recipes/mne-python_1.4/construct.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
version: 1.4.0_0
name: MNE-Python
company: MNE-Python Developers
# When the version above changes to a new major/minor, it needs to be updated
# many places here, and in assets/current_version.txt.

license_file: ../../assets/license.txt # [linux]
license_file: ../../assets/license.rtf # [not linux]
welcome_image: ../../assets/welcome_macOS.png # [osx]
welcome_image: ../../assets/welcome.png # [not osx]
header_image: ../../assets/header.png
icon_image: ../../assets/icon.png
welcome_file: ../../assets/welcome.rtf
readme_text: ""
conclusion_file: ../../assets/conclusion.rtf

initialize_by_default: False
register_python_default: False

# default_prefix will be ignored by macOS .pkg installer!
default_prefix: ${HOME}/mne-python/1.4.0_0 # [linux]
default_prefix: "%USERPROFILE%\\mne-python\\1.3.1_0" # [win]
larsoner marked this conversation as resolved.
Show resolved Hide resolved
default_prefix_domain_user: "%LOCALAPPDATA%\\mne-python\\1.4.0_0" # [win]
default_prefix_all_users: "%ALLUSERSPROFILE%\\mne-python\\1.4.0_0" # [win]

uninstall_name: MNE-Python ${VERSION} (Python ${PYVERSION})

installer_filename: MNE-Python-1.4.0_0-macOS_Intel.pkg # [osx and not arm64]
installer_filename: MNE-Python-1.4.0_0-macOS_M1.pkg # [osx and arm64]
installer_filename: MNE-Python-1.4.0_0-Windows.exe # [win]
installer_filename: MNE-Python-1.4.0_0-Linux.sh # [linux]

post_install: ../../assets/post_install_macOS.sh # [osx]
post_install: ../../assets/post_install_linux.sh # [linux]
post_install: ../../assets/post_install_windows.bat # [win]

# Create signed macOS .pkg installer
installer_type: pkg # [osx]
signing_identity_name: # [osx] Used for productsign
notarization_identity_name: # [osx] Used for codesign
reverse_domain_identifier: tools.mne # [osx] Used for productbuild --identifier $reverse_domain_identifier.$name

# Only create menus for mne-installer-menus
menu_packages:
- mne-installer-menus

channels:
- conda-forge
# conda-forge doesn't provide pytorch packages for Windows
# - pytorch # [win]
# TODO: ⛔️ ⛔️ ⛔️ DEV BUILDS START: COMMENT OUT BEFORE RELEASE! ⛔️ ⛔️ ⛔️
# - conda-forge/label/mne_dev
# - conda-forge/label/mne-bids_dev
# TODO: ⛔️ ⛔️ ⛔️ DEV BUILDS STOP: COMMENT OUT BEFORE RELEASE! ⛔️ ⛔️ ⛔️

specs:
# MNE ecosystem

# TODO: ⛔️ ⛔️ ⛔️ DEV BUILDS START: CHANGE BEFORE RELEASE! ⛔️ ⛔️ ⛔️
# - mne =1.2dev0=*_20221007
# - mne-installer-menus =1.2dev0=*_20221007
# - mne-bids =0.11dev0=*_20221007
# TODO: ⛔️ ⛔️ ⛔️ DEV BUILDS STOP: CHANGE BEFORE RELEASE! ⛔️ ⛔️ ⛔️

# TODO: Once 1.4 is actually released, bump these
- mne =1.3.1=*_0
- mne-installer-menus =1.3.1=*_0
- mne-bids =0.12.0
- mne-bids-pipeline =1.2.0
- mne-qt-browser =0.4.0
larsoner marked this conversation as resolved.
Show resolved Hide resolved
- mne-connectivity =0.5.0
- mne-faster =1.1.0
- mne-nirs =0.5.0
- mne-realtime =0.2.0
- mne-features =0.2.1
- mne-rsa =0.8
- mne-ari =0.1.2
- mne-kit-gui =1.1.0
- mne-icalabel =0.4 # [not win]
- autoreject =0.4.1
- pyriemann =0.4
- pyprep =0.4.2
- openmeeg =2.5.5
# Python
- python =3.10.8
- pip
- conda
- mamba
- openblas
- jupyter
- jupyterlab
- ipykernel
- nb_conda_kernels
- spyder-kernels
- spyder
- darkdetect
- qdarkstyle
# Excel I/O
- openpyxl
- xlrd
# Statistics
- pingouin
- pycircstat
# MRI
- fsleyes
- dcm2niix
# Time-frequency analysis
- pactools
- tensorpac
- emd
- neurodsp
- bycycle
- fooof
# Microstates
- mne-microstates =0.3.0
- pycrostates =0.2.0
# OpenNeuro.org data access
- openneuro-py
# sleep staging
- sleepecg
- yasa
# various biological signals (ECG, EOG, EMG, …)
- neurokit2
# GitHub client, https://cli.github.com
- gh
# NeuroSpin needs the following
- questionary
- pqdm
# Viz
- matplotlib
- ipympl
- seaborn
- plotly
- vtk
- ipywidgets

condarc:
channels:
# - pytorch # [win]
- conda-forge
channel_priority: strict
allow_other_channels: False
env_prompt: "(mne-1.4.0_0) "
2 changes: 0 additions & 2 deletions tests/test_outdated.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ class Package:

allowed_outdated: set[str] = {
'python', # 3.11 is out, but we don't have all deps available yet
'ipywidgets', # temporary, compatibility with VScode
'vtk', # 9.2.6 causes conflicts as of 2023/02/21
}
packages: list[Package] = []

Expand Down