First of all, thank you for considering contributing to this project. We appreciate your interest and would like to provide some guidelines to help you get started. If you have any questions, please feel free to open a discussion and we will be happy to assist you.
This is a fairly small project, making it ideal for getting started with Electron.
To contribute, fork the repository and make your changes. The starting point of the application is app/index.js
.
After making your changes, submit a pull request to the main
branch.
Each subfolder contains a README.md
file that provides additional information and explains the purpose of the folder.
To run this application from source, you will need npm installed.
Please refer to the npm installation page
To run the application from source:
npm run start
We are using electron-build in combination with GitHub Actions to create our build files.
If you want to generate the build locally, you can run the following command:
npm run dist:linux
The package is also build for other systems. Check the package.json
file for the available build commands.
If you want to use a node container to create your packages, use this command: (docker user should replace podman by docker)
podman run -it --rm --volume .:/var/mnt:z -w /var/mnt/ node:14 /bin/bash -c "apt update && apt install -y rpm && npm ci && npm run dist:linux"
This will build an deb, rpm, snap, AppImage and tar.gz files in the dist folder. This files can be run in most popular Linux distributions.
Is possible to specify the snap build type using running this:
npm run dist:linux:snap
This will build the snap into the dist/
directory.
To install the snap file using the generated file use this command.
cd dist
sudo snap install teams-for-linux_VERSION_amd64.snap --dangerous
sudo snap install teams-for-linux
The release is mostly automated using GitHub Actions. The release is triggered by merging to main.
The version increase follows the next rules:
- By default increase the lower number of the version in the
package.json
file. (Example: 1.0.0 -> 1.0.1) - For any release that can break changes, increase the middle number. Please increase this number if you are increasing a major version of electron. (Example: 1.0.0 -> 1.1.0)
- The higher number is reserved at the moment
For each release, create a new section in the com.github.IsmaelMartinez.teams_for_linux.appdata.xml file. This will automatically update the appstream data in the flathub repository.