Commit Graph

80 Commits

Author SHA1 Message Date
Max Radermacher
f925aa55d9
Switch to Xcode 16.3 2025-04-10 11:09:49 -05:00
Max Radermacher
2087f4b6a0
Update to Xcode 16.2 2025-01-08 18:48:03 -06:00
Max Radermacher
04338193ee
Upgrade GitHub Actions to macOS 15 2024-11-07 17:21:23 -06:00
Max Radermacher
ca202f73e7
Check Xcode Cloud/GitHub Action Xcode versions 2024-11-06 18:57:45 -06:00
Adam Sharp
383b210462
Use Xcode 16.1 on CI 2024-10-28 09:36:37 -04:00
Sasha Weiss
1c2231145a
Increase timeout for Backup integration tests 2024-09-25 13:10:40 -07:00
Adam Sharp
6dfb5f30dd
Remove Xcode 15.4 from CI build matrix 2024-09-18 11:09:40 -04:00
Adam Sharp
5ae05ffc7d
Update CI to Xcode 16 RC 2024-09-10 11:26:57 -04:00
Adam Sharp
caf339dbee ci: put Xcode_ in matrix string to improve readability 2024-09-03 10:59:54 -04:00
Adam Sharp
62038a5043 wip: try dynamically setting DEVELOPER_DIR 2024-09-03 10:59:54 -04:00
Adam Sharp
91e131ec0c Test building with Xcode 16 on CI 2024-09-03 10:59:54 -04:00
Max Radermacher
146908fc5a
Upgrade to upload-artifact@v4 2024-06-26 12:05:28 -05:00
Sasha Weiss
6248d99baa
Go back to using -xlarge MacOS runners 2024-06-24 12:44:34 -07:00
Sasha Weiss
c870545fb1
Revert to macos-14 runner from -xlarge 2024-06-21 11:18:16 -07:00
Adam Sharp
424a551ca3
Use Xcode 15.4 on CI 2024-05-28 09:20:10 -04:00
Max Radermacher
592c119f77
Clone all submodules if one of them fails 2024-05-22 14:32:57 -05:00
Max Radermacher
74e66ecba2
Clean up precommit.py 2024-04-15 14:02:27 -05:00
Max Radermacher
ef0ab38224
Update to Xcode 15 2024-04-15 12:52:51 -05:00
Ehren Kret
53460a5bc9 remove leading + or - from ref 2024-03-07 10:46:00 -06:00
Ehren Kret
938a624c68 fix typo in workflow 2024-03-07 10:46:00 -06:00
Ehren Kret
a90c225739 use smarter clone 2024-03-01 19:41:52 -06:00
Ehren Kret
a1c0e7751c try out larger macos runner 2024-03-01 18:45:02 -06:00
Max Radermacher
9a5eb2d478
Upgrade checkout action to v4 2024-02-01 13:57:24 -06:00
Max Radermacher
09d38fcf68 Update to Xcode 14.2 2023-03-22 16:34:51 -07:00
Max Radermacher
dee5aed385 Clean up directories we search for translations 2023-02-23 10:37:57 -08:00
Max Radermacher
036a878774 Cancel old GitHub Actions when updating a PR 2022-10-21 10:39:08 -07:00
Evan Hahn
370ff654e7
Change license to AGPL
Change license to AGPL

This commit:

- Updates the `LICENSE` file

- Start every file with something like:

      // Copyright YEAR_FIRST_PUBLISHED Signal Messenger, LLC
      // SPDX-License-Identifier: AGPL-3.0-only

---

First, I removed existing license headers with this Ruby 3.1.2 script:

    require 'set'

    EXTENSIONS_TO_CHECK = Set['.h', '.hpp', '.cpp', '.m', '.mm', '.pch', '.swift']

    same = 0
    different = 0

    all_files = `git ls-files`.lines.map { |line| line.strip }
    all_files.each do |relative_path|
      if relative_path == 'Pods'
        next
      end

      unless EXTENSIONS_TO_CHECK.include? File.extname(relative_path)
        next
      end

      path = File.expand_path(relative_path)

      contents = File.read(path)
      new_contents = contents.sub(/\/\/\n\/\/  Copyright .*\n\/\/\n\n/, '')

      if contents == new_contents
        same += 1
      else
        different += 1
      end

      File.write(path, new_contents)
    end

    puts "updated #{different} file(s), left #{same} untouched"

I'm sure this script could be improved, but it worked well enough.

Then, I created `Scripts/lint/lint-license-headers` and ran it to auto-
fix a lot of files. This changed the mode of some files, but I think
that's actually desirable. For example,
`SignalServiceKit/src/Util/AppContext.m` previously had a mode of
`0755/-rwxr-xr-x`, and it's now `0644/-rw-r--r--`.

Then I fixed some stragglers and updated the precommit script.

See [a similar change in the Desktop app][0].

[0]: 8bfaf598af
2022-10-13 08:25:37 -05:00
Max Radermacher
cc0e45c895 Set a per-test timeout of 60 seconds on CI 2022-09-26 14:19:43 -07:00
Max Radermacher
fa5960d4ef Don’t resolve SPM dependencies in CI 2022-09-26 12:43:01 -07:00
Max Radermacher
b8ab27efc9 Add more retries for -showBuildSettings on CI 2022-09-26 11:38:21 -07:00
Max Radermacher
13e57aad9a Use setup-ruby’s bundler-cache option
The [docs][0] recommend this instead of manually caching the artifacts.

[0]: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby#caching-bundle-install-automatically
2022-09-23 13:12:37 -07:00
Max Radermacher
6a5bc7ce68 Update CI to Xcode 14
- Use Xcode 14 for all of our jobs. If something like `genstrings`
  changes, this should keep that job consistent with everything else.

- Use macos-12 for all of our jobs. It’s probably best to keep things
  consistent, and macos-11 will eventually go away.
2022-09-22 11:00:34 -07:00
Evan Hahn
3260739678 Double autogenstrings CI timeout 2022-09-20 10:29:18 -07:00
Evan Hahn
a74419b096 Don't mark "Acknowledged" issues/PRs as stale
See <https://github.com/signalapp/Signal-iOS/issues/5374> for an example
of an issue that probably shouldn't have been marked stale.
2022-09-15 10:28:44 -07:00
Max Radermacher
a0e749b1d5 Set explicit timeouts for GitHub workflows 2022-09-13 16:49:41 -07:00
Max Radermacher
690a9f0a47
Show precommit.py diff in GitHub Action 2022-08-31 16:53:02 -05:00
Evan Hahn
bac5b0555b Revert "CI: make bigger check depend on lighter check"
This reverts commit 1e2422b6ba, because it
caused CI to be *entirely* skipped in some cases.
2022-07-27 15:04:23 -05:00
Evan Hahn
30315a9c63
Check if strings are up to date in CI
A few of us (myself included) have forgotten to run `auto-genstrings`
and they've gotten out of date on the main branch.

This adds a simple CI job to catch these.
2022-07-25 08:17:41 -05:00
Evan Hahn
1e2422b6ba CI: make bigger check depend on lighter check
This will save Signal some money if lint fails (which is fairly common)
and add ~30 seconds if lint succeeds.
2022-07-20 08:47:35 -05:00
Evan Hahn
cb387bc031 Explicitly require Xcode 13.2
Instead of it being a minimum version.
2022-07-06 14:59:33 -05:00
Evan Hahn
80369c8cdd Update to macOS 12 on CI
See [the documentation][0] for this macOS version.

[0]: https://github.com/actions/virtual-environments/blob/main/images/macos/macos-12-Readme.md
2022-07-06 14:59:33 -05:00
Max Radermacher
de5edc8c42
Tweak StaleBot configuration
Use the same file as Signal-Desktop.
2022-06-22 09:28:09 -07:00
Frazer Smith
7e7f6caf2c Update GitHub Actions
See [#5382][0].

[0]: https://github.com/signalapp/Signal-iOS/pull/5382
2022-06-17 05:20:42 -05:00
Evan Hahn
5be42da750 Change references from master to main
_I recommend reviewing this with whitespace changes disabled._

Signal has renamed its primary branch to `main`. This updates references
to the old name, `master`, to either reference `main` or a specific
commit hash.

I also fixed a couple of small whitespace issues in a file I was
editing.
2022-05-02 10:30:40 -05:00
Nora Trapp
7edb8c5038
master -> main 2022-04-29 14:21:08 -07:00
Evan Hahn
84ebba40a2 CI: only run precommit script for pull requests
According to [GitHub's docs][0], the `github.base_ref` property "is only
available when the event that triggers a workflow run is either
`pull_request` or `pull_request_target`.

Because of this, pushes were running the following command...

    python3 Scripts/precommit.py --ref origin/

...and getting this error:

    fatal: ambiguous argument 'origin/': unknown revision or path not in the working tree.

This has been broken for a long time, but it didn't cause CI to fail until
d7c33eb211.

After some discussion, we decided not to run these on pushes to `master`
or `release/*`.

(See also: [this GitHub issue][1] which asks for clarification.)

[0]: https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
[1]: https://github.com/github/docs/issues/13810
2022-04-04 09:57:24 -05:00
Jordan Rose
7ca12f9885 CI: Remove Rust install step
LibSignalClient is no longer compiled on demand, so we don't need Rust
to build and test the iOS app.
2022-03-29 10:17:30 -07:00
Chris Eager
113c293232 Update rust working directory in GitHub Action 2022-03-28 13:19:38 -07:00
Evan Hahn
1101db6a29 Upgrade scripts to Python 3
Python 2 was [removed from macOS in 12.3][0]. This change:

- Automatically converts many files with [2to3][1]
- Manually updates all [shebangs][2] to use `python3` instead of
  versionless `python` or `python2.7`
- Manually applies a few fixes, many of which were noted by 2to3
- Manually undoes a few fixes that were automatically done by 2to3

[0]: https://www.macrumors.com/2022/01/28/apple-removing-python-2-in-macos-12-3/
[1]: https://docs.python.org/3/library/2to3.html
[2]: https://en.wikipedia.org/wiki/Shebang_(Unix)
2022-03-21 12:58:33 -05:00
Jordan Rose
5a050b914c CI: Upload build logs on failure 2022-02-02 16:06:38 -08:00